知识大全 Memebership扩展应用解决方案

Posted 扩展

篇首语:看书和学习是思想的经常营养,是思想的无穷发展。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Memebership扩展应用解决方案相关的知识,希望对你有一定的参考价值。

Memebership扩展应用解决方案  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  最近 在项目中使用了 中的 Membership 框架 本文将在这里讨论如何将其进行扩展 以适应实际项目的需求 期间 经过不断的摸索领会 也查找了一些相关的资料 下面将会给出完整的一个解决方案——通过表关联的方式进行扩展 当然 这只是实现的一个思路 在此和大家探讨

  网上也有很多相关的讨论解决方案的文章 但是大多数都是梗概 没有详细地引导初接触该框架的开发者如何进行实现 这里提出的方案思路是 通过userid字段进行关联 相信但凡要用Membership的开发人员都熟悉那几个基本的aspnet_开头的数据表 也已经知道它们中各个字段的含义

  可能大多数开发者遇到的问题是 默认的aspnet_Users中不足以满足自定义的用户信息 而且很多大字段也不适合保存在Profile中 那么 你可以通过如下的方式进行用户注册 在用户点击注册按钮的时候 首先使用Membership CreateUser方法在aspnet_Users中注册一个用户 注册之前 你可以设定自己项目中所需的注册条件 比如 允不允许姓名相同等等(代码中的条件是 一个区只能有一个该姓名的showfolk)

  if (!showfolkSys Exists(name section))

  

  //启用membership 创建一个用户

  try

  

  MembershipUser newUser = Membership CreateUser(UserName Text Password Text);

  

  catch (MembershipCreateUserException exception)

  

  ErrorMessage Text = GetErrorMessage(exception StatusCode);

  return;

  

  catch (HttpException ex)

  

  ErrorMessage Text = ex Message;

  return;

  

  

  然后 将注册信息插入自己的表中 这里为了关联aspnet_Users表 需要在自己定义的表中加入字段userid(GUID)

  下面 先给出一个创建用户的存储过程 InsertUser

  CREATE PROCEDURE InsertUser

  @UserName    VARCHAR( ) =NULL @InstitutionID  INT = NULL @Email   VARCHAR( ) = NULL @Phone  VARCHAR( ) =NULL

  @Mobile VARCHAR( ) =NULL

  AS

  BEGIN

  DECLARE @UserId uniqueidentifier

  SELECT  @UserId = UserId FROM dbo aspnet_Users WHERE LOWER(@UserName) = LoweredUserName AND @ApplicationId = ApplicationId

  IF ( @UserId IS NOT NULL )

  BEGIN

  INSERT Users(

  userid username institutionID email phone

  mobile

  )

  VALUES

  (

  @Userid @UserName @InstitutionID @Email @phone

  @mobile

  )

  END

  END

  

  GO

  存储过程开始的前两句就是通过 @UserName 的值来反查 aspnet_Users 中的 UserId字段 接下来再插入到自定义的表中 这样 成员角色管理部分可以使用默认的aspnet_Users表 而自定义的信息可以使用自己的表了

  下面是我在 Web Config中对 membership 的设定 去掉了密码中默认需要的特殊字符和唯一的Email地址的限制 供参考

  <membership defaultProvider= AspNetMembershipProvider userIsOnlineTimeWindow= >

  <providers>

  <remove name= AspNetSqlMembershipProvider />

  <clear />

  <add name= AspNetMembershipProvider

  requiresQuestionAndAnswer= false

  type= System Web Security SqlMembershipProvider

  connectionStringName= SqlServices

  enablePasswordRetrieval= false

  minRequiredNonalphanumericCharacters=

  minRequiredPasswordLength=

  enablePasswordReset= false

  passwordFormat= Hashed

  requiresUniqueEmail= false

  applicationName= BJWL />

  </providers>

cha138/Article/program/ASP/201311/21688

相关参考

知识大全 SMB的扩展应用

SMB的扩展应用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在Linux风行的今天与Wind

知识大全 无需重新编译php加入ftp扩展的解决方法

  首先进入源码目录  cdphp/ext/ftp  #运行phpize生成configure  /usr/local/php/bin/phpize  #编译指定phpconfig注意这里的phpco

知识大全 使用Java构造高可扩展应用

使用Java构造高可扩展应用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  当CPU进入多核时代

知识大全 Delphi插件创建、调试与使用应用程序扩展

Delphi插件创建、调试与使用应用程序扩展  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  有没

知识大全 系统发布&系统扩展

  系统发布  系统设计完成后需要打包发布将应用系统制作成安装程序制作安装程序的工具很多一般Delphi开发的应用系统可以使用InstallShield来完成系统的安装查询  系统发布的注意事项参考第

知识大全 扩展Delphi的线程同步对象

扩展Delphi的线程同步对象  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在编写多线程应用程

知识大全 介绍——用户认证管理设计方案

  用户认证管理设计方案        设计思路    为了设计一套具有较强可扩展性的用户认证管理需要建立用户角色和权限等数据库表并且建立之间的关系具体实现如下    用户  用户仅仅是纯粹的用户用来

知识大全 三星手机未安装应用程序怎么解决

三星7106未安装应用程序怎么解决,三星手机下载游戏未安装应用程序怎么解决办法,三星9100如何解决“未安装应用程序”手机安装软件提示未安装时,请按以下步骤进行操作:1.可能是下载的软件安装包不完整,

张小雨需要自己查询资料、设计方案,并应用方案来解决某一个实际问题。这一任务对应的认知要求是

张小雨需要自己查询资料、设计方案,并应用方案来解决某一个实际问题。这一任务对应的认知要求是_____。A、理解B、应用C、创造D、评价答案:B解析:将所学习的基本内容和方法,通过自学与解决实际问题来提

知识大全 手机应用无意间被隐藏,怎么解决,金立手机

手机应用无意间被隐藏,怎么解决,金立手机待机下进入应用页面,选项-显示隐藏的应用(点击隐藏的应用即可),反之亦可隐藏显示的应用。望采纳!金立手机怎么隐藏应用在手机的主界面双指下滑或外扩。输入手机的安全