Ram*_*oni 8 asp.net authentication
我们有一个自定义MembershipProvider
在ASP.NET
.现在有两种可能的方案可以验证用户:
用户通过login.aspx
输入用户名/密码登录页面.我使用了Login控件并将其与MyMembershipProvider
.这工作得非常好.
身份验证令牌通过查询字符串中的某个URL从不同的网站传递.为此,我有一个重载MembershipProvider.Validate(string authenticationToken)
,实际上验证用户.在这种情况下,我们无法使用Login控件.现在如何MembershipProvider
在不实际使用Login控件的情况下使用相同的方法验证用户?我试图Validate
手动调用,但这不是用户签名.
这是我正在使用的代码片段
if (!string.IsNullOrEmpty(Request.QueryString["authenticationToken"])) {
string ticket = Request.QueryString["authenticationToken"];
MyMembershipProvider provider = Membership.Provider as MyMembershipProvider;
if (provider != null) {
if (provider.ValidateUser(ticket))
// Login Success
else
// Login Fail
}
}
Run Code Online (Sandbox Code Playgroud)
Mar*_*nHN 13
验证成功后,您需要通过调用FormsAuthentication.Authenticate来登录用户:http://msdn.microsoft.com/en-us/library/system.web.security.formsauthentication.authenticate.aspx
编辑:这是FormsAuthentication.SetAuthCookie:http: //msdn.microsoft.com/en-us/library/twk5762b.aspx
此外,要将用户重定向到他想去的地方,请调用:FormsAuthentication.RedirectFromLoginPage:http://msdn.microsoft.com/en-us/library/system.web.security.formsauthentication.redirectfromloginpage.aspx
归档时间: |
|
查看次数: |
13192 次 |
最近记录: |