ASP.NET-MVC动态网站知识点

此文章废弃 已在ASP.NET MVC 长期更新中全部包括

那天天很蓝,风在吹,所有人都以为那是一个普通的一天
——可是之后上课却开始一头雾水
---知乎<不想学习的时候如何逼迫自己学习>

3.10

实现某个接口
interface imvc{
*void sayhello();
// 开头使用private不可以
}
class newmvc:lmvc,lmvc2,lmvc3{
public sayhello(){
}
public sayhello2(){
}
public sayhello3(){
}
}
void main(){
lmvc item = new newmvc();
item.sayhello();
}
过滤器:
授权:认证和授权(判断用户是否存在;角色,以及能做到业务)
AutorizationFilter
// 新的使用oauth 认证授权分开
// 检查用户是否登陆和身份(user admin)一大堆的判断
动作:记录日志(用户,ip,操作)
Action Filter
结果:返回view的时候使用
Result Filter
异常:程序出现问题后如何处理
Exception Filter

过滤器的主要作用:职责分明,适合团队协作,提高生产效率,降低成本

3.11

过滤器的一般用法:
在action上添加[Authorize]
配置WEB.CONFIG
FormsAuthentication认证用户并保存信息

实现角色认证功能:
对于授权过滤器,级成AuthorizeAttribute类
重新AuthorizCore方法
获取特性中的Roles值,获取当前用户的权限,匹配Roles值和当前用户的权限,如果一一致返回真,否则返回假
web.config
判断用户是否存在

为什么越听越蒙了

自定义authorizeCore方法

3.16

authorize有几种写法

[authorize]:必须登录之后才能使用
[authorize(user="admin,zyx")]:只允许配置的账号使用
[authorize(roles="user,adminsuperadmin,root")]:只允许配置的角色使用

利用FormsAuthentication机制验证的基本步骤

<authentication mode="Forms">
      <forms loginUrl="~/Account/Login" timeout="1440">
// 配置文件web.config配置认证元素
[authorize]
// 对保护资源添加特性
FormsAuthentication.SetAuthCookie(username, false)
// 实现认证逻辑,并保存登陆信息

自定义授权过滤器:级成authorize过滤器,实现AuthorizeCore方法

session理解?
可以理解为一个存在会话范围内(从向服务器发起请求到关闭浏览器的这一段时间)的字典(一一对应的数据结构,类似字典的目录,页码与内容,key:value),保存在服务器端
保存seccion.add(key,value)
获取session[key]

如何知道访问AccountController下的childAction?
找当前控制器下的[chidAchtion]

如果访问其他控制器,且其他控制器有验证的情况可以加 [allowanonymous]

中间的课呢?在总知识点里

5.18

5.20 总知识点还没写完,先写今天的

阅读剩余
THE END