Security----Authorization----简单授权

Simple Authorization? 简单授权

82 of 86 people found this helpful

Authorization in MVC is controlled through the AuthorizeAttribute attribute and its various parameters. At its simplest applying the AuthorizeAttribute attribute to a controller or action limits access to the controller or action to any authenticated user.

MVC中的授权通过AuthorizeAttribute属性及其不同的参数来实现。控制器或者方法的AuthorizeAttribute 属性最简单的应用是限制认证用户的使用。

For example, the following code limits access to the AccountController to any authenticated user.

例如,下列代码限制任何授权用户连接AccountController 。

[Authorize]
public class AccountController : Controller
{
    public ActionResult Login()
    {
    }

    public ActionResult Logout()
    {
    }
}

If you want to apply authorization to an action rather than the controller simply apply the AuthorizeAttribute attribute to the action itself;

如果想对一个方法实施授权,而不是简单地对控制器实施授权,那么仅将AuthorizeAttribute 属性放到该方法上。

public class AccountController : Controller
{
    public ActionResult Login()
    {
    }

    [Authorize]
    public ActionResult Logout()
    {
    }
}

Now only authenticated users can access the logout function.

现在,只有授权用户可以使用logout函数。

You can also use the AllowAnonymousAttribute attribute to allow access by non-authenticated users to individual actions; for example

你也可使用AllowAnonymousAttribute 属性来允许非授权用户使用单独的方法,例如:

[Authorize]
public class AccountController : Controller
{
    [AllowAnonymous]
    public ActionResult Login()
    {
    }

    public ActionResult Logout()
    {
    }
}

This would allow only authenticated users to the AccountController, except for the Login action, which is accessible by everyone, regardless of their authenticated or unauthenticated / anonymous status.

这会使除了Login方法外,只有授权用户可以使用AccountController,不论其授权或者非授权以及匿名的任何人都可使用Login方法。

Warning 注意

[AllowAnonymous] bypasses all authorization statements. If you apply combine [AllowAnonymous] and any [Authorize] attribute then the Authorize attributes will always be ignored. For example if you apply [AllowAnonymous] at the controller level any [Authorize] attributes on the same controller, or on any action within it will be ignored.

[AllowAnonymous] 忽略了所有的授权语句。如果联合使用 [AllowAnonymous][Authorize] 属性,Authorize属性将一直被忽略。例如:如果在控制器级别使用了[AllowAnonymous],在同一个控制器的任何[Authorize]或者其中的任何方法将被忽略。

时间: 2024-10-17 17:16:05

Security----Authorization----简单授权的相关文章

Lind.DDD.Authorization用户授权介绍

回到目录 Lind.DDD.Authorization是Lind.DDD框架的组成部分,之所以把它封装到框架里,原因就是它的通用性,几乎在任何一个系统中,都少不了用户授权功能,用户授权对于任何一个系统来说都是必要的,像管理型的页面都需要用户先去登陆,然后拿到凭证,才可以进行访问,这在MVC和WebApi体系结构里是很容易实现的,像过滤器里的AuthorizeAttribute和ActionFilterAttribute都可以实现用户授权的功能. AuthorizeAttribute和Action

Security » Authorization » 基于声明的授权

Claims-Based Authorization? 基于声明的授权 142 of 162 people found this helpful When an identity is created it may be assigned one or more claims issued by a trusted party. A claim is name value pair that represents what the subject is, not what the subject

Shiro简单授权原理分析

Shiro授权简介 Shiro授权简单来说分为两种类型: 粗粒度的:也就是代码中直接写入和角色的绑定. 细粒度的:代码中写入的是和权限的绑定,而角色到权限和可配置的. 对于粗粒度来说,若角色对应权限有改变的话,那么则需要更改代码,很不方便.而细粒度的好处显而易见,所以一般项目中应该都采用细粒度的权限配置. 源码及流程分析 那么Shiro中是如何来完成权限检验的呢? 通过调用Subject.hasRoles(...)或Subject.isPermitted(...) 另外还有Subject.che

关于security的简单理解和应用

2018年7月30日1.搜索引擎框架百度google Lucene 单机操作,就是一堆jar包中的api的使用,自己干预,如何创建索引库,删除索引库,更新索引库,高亮,自己调度APISolr 支持web应用研发,它封装好了对索引库的操作,直接做高级API编程.ElasticSearch 默认支持集群的,调度,统一协调,任务派发,ZooKeeper (KeepAlived 简单) Lucene简介Lucene是apache软件基金会一个开放源代码的全文检索引擎工具包,是一个全文检索引擎的架构,提供

用spring security实现简单的登陆和权限角色控制

 随笔简介 spring版本:4.3.2.RELEASE+spring security 版本:4.1.2.RELEASE(其它不做说明) 所展示内容全部用注解配置 springmvc已经配置好,不作说明 会涉及到springmvc,spel,el的东西,不熟悉的同学可以先去看一下这方面内容,特别是springmvc 首先想一下,登陆需要什么,最简单的情况下,用户名,密码,然后比对数据库,如果吻合就跳转到个人页面,否则回到登陆页面,并且提示用户名密码错误.这个过程中应该还带有权限角色,并且贯穿整

Oauth2.0(五):Authorization Code 授权

Authorization Code 方式适用于有自己的服务器的应用.之所以叫这个名字,是因为流程中引入了一个叫做 authorization code 的东西.这个东西是一个一次性的临时凭证,用来换取 access token 和 refresh token. 鉴权服务器提供了一个类似这样的接口: https://www.xxx.com/exchange?code=&client_id=&client_secret= 需要传入 code.client_id 以及 client_secre

[转]Spring Security 可动态授权RBAC权限模块实践

RBAC:基于角色的访问控制(Role-Based Access Control) 先在web.xml 中配置一个过滤器(必须在Struts的过滤器之前) [html] view plaincopy <filter> <filter-name>springSecurityFilterChain</filter-name> <filter-class>org.springframework.web.filter.DelegatingFilterProxy<

IBM Security AppScan 简单实用说明

IBM Security AppScan是较常用的web安全扫描工具,可以用它来进行Web漏洞扫描,本文是简单使用的描述,不涉及深层次的原理. 本文使用IBM Security AppScan Standard 9.0.3.5,扫描浏览器为IE11. 阅读目录 基本介绍 前期设置 扫描创建 完全扫描 基本介绍 官方网站下载地址:  https://www.ibm.com/cn-zh/security/application-security/appscan 注意Appscan并不是免费,官方提供

Spring Security 学习笔记-授权控制过滤器

FilterSecurityInterceptor  是比较核心的过滤器,主要负责授权工作.SecurityMetadataSource 需要安全授权的元数据资源 AuthenticationManager 认证管理器,决策访问资源的时候是否需要再次认证.AccessDesisionManager 访问决策管理器,决策是否有权限访问. 下图说明之间的调用关系:

spring security的简单应用

本文只包涵spring security配置部分,不是一个完整项目,不过可以任意添加到一个web项目中,不需要对原来的程序做任何修改 部分内容来源于网络,如有雷同,毫无意外 1.xml配置文件 <?xml version="1.0" encoding="UTF-8"?> <beans:beans xmlns="http://www.springframework.org/schema/security" xmlns:beans=