Tag: 授权

如何在Spring Security中dynamic决定<intercept-url>访问属性值?

在Spring Security中,我们使用intercept-url标记来定义URL的访问权限,如下所示: <intercept-url pattern="/**" access="ROLE_ADMIN" /> <intercept-url pattern="/student" access="ROLE_STUDENT" /> 这是在applicationContext-security.xml硬编码的。 我想读取数据库表中的访问值。 我已经定义了我自己的UserDetailsService并从数据库中读取login用户的angular色。 如何在运行时将这些angular色分配给URL模式?

在ASP.NET MVC中redirect未经授权的控制器

我在ASP.NET MVC中有一个控制器,我只限于pipe理员angular色: [Authorize(Roles = "Admin")] public class TestController : Controller { … 如果不在Adminangular色中的用户导航到此控制器,则会看到空白屏幕。 我想要做的是将他们redirect到视图,说:“你需要在pipe理angular色能够访问此资源。” 我想到的一种做法是在IsUserInRole()上检查每个操作方法,如果不在angular色中,则返回此信息视图。 但是,我必须在每个打破DRY负责人的行动中join这个行为,而且显然很难维持。

如何在SVN中设置访问控制?

我已经使用SVN和上传的项目build立了一个仓库。 有多个用户在这些项目上工作。 但是,并不是每个人都在为所有项目工作,需要访问。 我想为用户设置每个项目的权限。 我如何做到这一点?

为什么AuthorizeAttributeredirect到login页面以进行身份​​validation和授权失败?

在ASP.NET MVC中,您可以使用AuthorizeAttribute标记控制器方法,如下所示: [Authorize(Roles = "CanDeleteTags")] public void Delete(string tagName) { // … } 这意味着,如果当前login的用户不在“CanDeleteTags”angular色中,控制器方法将永远不会被调用。 不幸的是,对于失败, AuthorizeAttribute返回HttpUnauthorizedResult ,它始终返回HTTP状态代码401.这会导致redirect到login页面。 如果用户没有login,这是非常有道理的。 但是,如果用户已经login,但不是所需的angular色,将它们发送回login页面会令人困惑。 AuthorizeAttribute似乎将authentication和授权混为一谈。 这似乎是在ASP.NET MVC的一个疏忽,或者我错过了什么? 我不得不做一个DemandRoleAttribute来区分这两者。 当用户未通过身份validation时,会返回HTTP 401,并将其发送到login页面。 当用户login但不是所需的angular色时,它将创build一个NotAuthorizedResult 。 目前这个redirect到一个错误页面。 当然,我不必这样做?

OAuth 2与OAuth 1有什么不同?

用非常简单的话来说,有人可以解释OAuth 2和OAuth 1之间的区别吗? OAuth 1是否已经过时了? 应该实现OAuth 2吗? 我没有看到许多OAuth 2的实现; 大多数仍在使用OAuth 1,这让我怀疑OAuth 2是否可以使用。 是吗?

覆盖ASP.NET MVC中的授权属性

我有一个MVC控制器基类,我应用了授权属性,因为我想几乎所有的控制器(和他们的行动一起)被授权。 不过,我需要有一个控制器和另一个控制器的行动未经授权。 我想能够用[Authorize(false)]来装饰它们,但是这是不可用的。 有任何想法吗?

会话过期授权redirect在提交JSF表单时不起作用,页面保持不变

我正在使用JSF2。 我已经实现了一个自定义的面向servlet像这样: public class MyFacesServletWrapper extends MyFacesServlet { // … } 其中我正在做一些授权检查,并在用户未login时发送redirect: public void service(ServletRequest request, ServletResponse response) { HttpServletRequest req = (HttpServletRequest) request; HttpServletResponse res = (HttpServletResponse) response; if (…) { String loginURL = req.getContextPath() + "/LoginPage.faces"; res.sendRedirect(loginURL); } } 这在用户尝试导航到另一个页面时起作用。 但是,当JSF表单由JSF命令链接/button提交时,这不起作用。 sendRedirect()行被命中并执行,没有抛出exception,但用户停留在同一页面。 基本上,根本没有视觉上的变化。 为什么这个工作在页面导航,但不是在表单提交?

如何处理数据库中用户的authentication/授权?

目前,我正在使用JSF 2.0,Tomcat 7和MongoDB开发Web项目。 我有一个很大的问题,就是如何处理数据库中的用户的会话pipe理和authentication/授权。 我想要的结构如下:只有login的用户可以创build事件,每个人都可以看到创build的事件。 create.xhtml – >仅适用于login用户。 events.xhtml – >公开为每个人。 我正在计划的基本结构是: 检查页面是否需要login用户(例如create.xhtml ) 如果是,请检查用户是否login 如果用户未login,请转到login.xhtml 如果成功login,请回到请求的页面 保持“用户已login”信息,除非用户单击注销button。 (在那里我猜@SessionScoped进场) 问题是: 这样做的较简单的方法是什么? 我应该在哪里使用@SessionScoped注释? 在Create.java或LoginManager.java ? 春季安全看起来有点复杂,我真的需要吗? 如果是的话,你能解释一下实现如何与JSF 2.0和Mongo DB一起工作吗?

如何在JSF中实现loginfilter?

我想阻止某些页面的访问,即使用户知道某些页面的url。 例如,/ /localhost:8080/user/home.xhtml (需要先login)如果没有logging,则redirect到/index.xhtml 。 JSF中如何做到这一点? 我在谷歌阅读需要一个filter,但我不知道如何做到这一点。

保护REST API / Web服务的最佳实践

在deviseREST API或服务时,是否存在处理安全性(身份validation,授权,身份pipe理)的最佳实践? 在构buildSOAP API时,您将WS-Security作为指导,有关该主题的文献很多。 我find了有关保护REST端点的更less信息。 虽然我了解REST故意没有类似于WS- *的规格,但我希望最佳实践或推荐模式已经出现。 任何有关文件的讨论或链接将非常感激。 如果重要的话,我们将使用WCF和POX / JSON序列化消息来构build使用.NET Framework v3.5构build的REST API / Services。