我是学生为我的学位写作项目,我正在努力了解asp.net会员和用户管理。
我读过很多文章,有些文章很方便,但有些文章让我很困惑。 看完之后:Examining ASP.NET's Membership, Roles, and Profile
我定义了一个SqlMembershipProvider,它在我的sql server中为我创建了用户数据库。 然后我从.net的管理工具中定义了一些用户,并在我的aspx页面中添加了一个登录控件。
我的问题是:
控件在哪里保存有关用户登录的信息? 以及如何访问它?
如何自定义登录功能,验证用户和 将他重定向到另一页?
如何在新页面中使用loginstatus控件进行显示 有关登录或匿名的不同用户的信息?
我想将某些页面限制为某些用户,并进行构建 基于不同用户的动态页面。我需要定义角色吗? 检查用户角色?
我可以使用哪些会员功能来帮助我管理用户和角色?
定义提供程序和连接字符串后的配置文件:
<configuration>
<connectionStrings>
<add name="igroup20_test2ConnectionString" connectionString="Data Source=Media.ruppin.ac.il;Initial Catalog=igroup20_test2;User ID=igroup20;Password=********" providerName="System.Data.SqlClient"/>
</connectionStrings>
<system.web>
<authentication mode="Forms"/>
<compilation debug="true" targetFramework="4.0"/>
<membership defaultProvider="CustomizedProvider">
<providers>
<add name="CustomizedProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="igroup20_test2ConnectionString" applicationName="ScottsProject" minRequiredPasswordLength="4" minRequiredNonalphanumericCharacters="0"/>
</providers>
</membership>
</system.web>
</configuration>
这些是提供程序在ms sql server中创建的表:
aspnet_Applications
aspnet_Membership
aspnet_Paths
aspnet_PersonalizationAllUsers
aspnet_PersonalizationPerUser
aspnet_Profile
aspnet_Roles
aspnet_SchemaVersions
aspnet_Users
aspnet_UsersInRoles
aspnet_WebEvent_Events
我真的很赞赏你的答案:)
答案 0 :(得分:2)
控件在哪里保存有关用户登录的信息? 以及如何访问它?
您可能在这里,登录控件保存凭据信息并让该用户登录并查看安全页面。所有信息都以加密方式存储在登录cookie中。它只在最后一次登录时保存在数据库上,并在总计数器上保存失败。
您可以通过以下方式阅读:
var authCookie = Context.Request.Cookies[FormsAuthentication.FormsCookieName];
我想将某些页面限制为某些用户,并进行构建 基于不同用户的动态页面。我需要定义角色吗? 检查用户角色?
是的,这是你必须做的。
如何自己定义登录功能,验证用户和 将他重定向到另一页?
在这里,您可以使用登录控件来使用OnLoggingIn="OnLogginIn"
干扰登录过程,并返回e.Cancel = true;
取消登录,或者返回true以继续登录。
或者您可以创建新的凭据Cookie,例如:How can I manually create a authentication cookie instead of the default method?
我还可以使用哪些会员功能来帮助我管理用户和 角色?
从您知道登录模块的数据库表及其工作方式的那一刻起,您就可以使用SQL直接更改它们。
如何自己定义登录功能,验证用户和 将他重定向到另一页?
您可以使用用户配置文件存储额外的参数,然后在代码中使用它们。 Storing user preferences in Web Application
在登录控件上,OnLoggedIn="OnLoggedIn"
是最终调用,您可以读取该参数并将用户发送到正确的页面。