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 在页面上要显示登陆用户的信息 如图 如果出现这样的效果就行了 登录效果 如图
  页面有点简单(见谅)
|