日期:2014-05-17  浏览次数:20542 次

关于asp.net mvc3的用户权限验证
我通过自定义filter来进行权限验证。希望第一次从数据库查询到角色能够写到缓存,还能记住用户。不知道该如何保存用户的登录状态呢,是用session还是cookie,具体又该怎么做?会有什么样的安全问题?希望有理想的解决方法的诸位给点意见。谢谢!
asp.net mvc 自定义filter 权限验证

------解决方案--------------------
如果你是说“记住密码”这个功能,让用户下次访问你的网站无需再输入验证信息,那么使用的是cookie。session只对当前会话有效,浏览器关闭了,就失效了。

你新建一个asp.net mvc程序,带AccountController的,系统会自动为你产生“记住密码”的代码。你自己看下就是了。
------解决方案--------------------
保存用户帐号密码等信息,一般用cookie和Session,前者用于保存用户信息。不受关闭浏览器影响。后者用于不关闭浏览器情况下,不跨域的同一会话内传递值
------解决方案--------------------
保存用户登录信息一般用继承自IPrincipal 类的自定义类保存,登录成功设置 Authenticated = True 即可保存登录状态,如果还有其他信息需要保存添加自定义字段即可,然后将信息保存到cookie中在filter中读取cookie反序列化为你自定义类型即可,再调用登录方法即可