环境
win10企业版x64+visual studio 2017+.net 4.5
step1
基本使用+邮件确认+密码重置
https://docs.microsoft.com/en-us/aspnet/web-forms/overview/security/create-a-secure-aspnet-web-forms-app-with-user-registration-email-confirmation-and-password-reset
问题
文档上邮件发送的包无法安装成功,自己写一个smtp发送就行
step2
完善用户表信息(增加修改字段)
https://channel9.msdn.com/Events/dotnetConf/2014/ASP-NET-Identity-Security
public class ApplicationUser : IdentityUser
{
public string HomeTown { get; set; } //这个增加字段
public ClaimsIdentity GenerateUserIdentity(ApplicationUserManager manager)
{
// 请注意,authenticationType 必须与 CookieAuthenticationOptions.AuthenticationType 中定义的相应项匹配
var userIdentity = manager.CreateIdentity(this, DefaultAuthenticationTypes.ApplicationCookie);
// 在此处添加自定义用户声明
return userIdentity;
}
public Task<ClaimsIdentity> GenerateUserIdentityAsync(ApplicationUserManager manager)
{
return Task.FromResult(GenerateUserIdentity(manager));
}
}
程序包管理控制台执行下面的命令
Enable-Migrations
Add-Migration hometowm
Update-database
step3
facebook登陆
https://docs.microsoft.com/en-us/aspnet/mvc/overview/security/create-an-aspnet-mvc-5-app-with-facebook-and-google-oauth2-and-openid-sign-on
注意
要开启站点的ssl
问题1
facebook的api页面有更新,与文档中的不一致,不过因为之前做过fb js登陆,所以用起来没什么问题
问题2
fb的回掉里面一直有deny,不能成功
解决:更新nuget的facebook验证相关的包
step4
角色管理及权限控制
http://www.cnblogs.com/chonghanyu/category/631169.html
权限控制配置参考资料
http://www.cftea.com/c/2011/01/LMZ3SKTUX6BL70T5.asp
<?xml version="1.0"?>
<configuration>
<location path="Manage.aspx">
<system.web>
<authorization>
<!--拒绝匿名用户-->
<deny users="?"/>
</authorization>
</system.web>
</location>
<location path="RolesAdmin.aspx">
<system.web>
<authorization>
<!--只允许admin角色访问:注意大小写-->
<allow roles ="Admin"/>
<!--拒绝所有用户-->
<deny users="*"/>
</authorization>
</system.web>
</location>
</configuration>
注意
配置文件中的roles="Admin"的大小写要与角色一致
代码下载