MVC中使用form拒绝匿名用户登录
第一步
打开Web.config ,在Web.config添加form身份验证 如图:
其中loginurl是起始页,cookieless 默认为usecookies ,timeout为cookies过期时间
第二步
创建用户信息类 ,等会要用,如图:(只是举个例子)
在对应的控制器上添加【Authorize】
这样就可以限制匿名用户登录了
第三步
当判断用户登录后符合用户的账户和密码,然后写一个方法将用户的信息存到票据当中
其中要说明的是FormsAuthenticationTicket 的参数
(
version: 版本号
name:与Web.config中forms里的name相同
issuedate:获取到最初发出cookies的时间
expiration:设置cookies过期时间
IsPersistent: 如果已发出持久的 Cookie,则返回 true。否则,身份验证 Cookie 将限制在浏览器生命周期范围内。
userdate:放转化为json格式的用户信息类
)
这样就可以实现拒绝匿名用户登录了
如果页面需要使用我们存入到cookies的值,那么我们如何向cookie取值呢
第一步
打开Global.asax 文件 然后输入Application_AuthenticateRequest 方法,具体代码实现如图
其中里面用框圈住的toobject 方法是用写了一个公共类 ,方便以后调用
如图
其中里面第二个用框圈住的是继承于IPrincipal
在页面上要显示登陆用户的信息 如图
如果出现这样的效果就行了
登录效果 如图
页面有点简单(见谅)