- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试将支持 ACL 的 Spring Security 集成到现有的 GWT 应用程序中,如果我单击另一个无用的链接,我发誓我需要一个新的鼠标和键盘。我已经了解了使用 Spring 通过 LDAP 对 Active Directory 进行身份验证所需的内容,我已经了解了如何根据 AD 属性(即组成员身份)分配自定义权限,我什至还了解了如何使用自定义 ACL 架构对权限执行自定义检查(真正的位掩码操作)。我还没有弄清楚的是 ACL 表中的内容。
ACL_SID
id:bigint (pk)
principal:boolean (ak)
sid:varchar (ak)
这个表是不言自明的;我们将仅在此处使用非主要条目。
ACL_CLASS
id:bigint (pk)
class:varchar (ak)
这张表也很不言自明。据我了解,我们只是为每个我们希望保护的类/接口(interface)创建一个条目。
ACL_ENTRY
id:bigint (pk)
acl_object_identity:bigint (fak)
ace_order:int (ak)
sid:bigint (fk)
mask:bigint
granting:boolean
audit_success:boolean
audit_failure:boolean
这个表也大部分是不言自明的;我们在 mask
字段中使用 bigint/long 自定义了架构,但问题源于 acl_object_identity
所引用的内容。很明显,它指向了ACL_OBJECT_IDENTITY
中的字段,但是...
ACL_OBJECT_IDENTITY
id:bigint (pk)
object_id_class:bigint (fak)
object_id_identity:bigint (ak)
parent_object_identity:bigint (fk)
owner_sid:bigint (fk)
entries_inheriting:boolean
object_id_identity
是什么?一个方法? Spring Security注解是如何引用的?
MyClass.java
@PreAuthorize("hasPermission(#someInput, 'READ')")
public boolean myMethod(String someInput) {
return true;
}
据推测,#someInput
以某种方式引用了 ACL_OBJECT_IDENTITY.object_id_identity
字段,但如何引用?
最佳答案
首先,您需要某种域对象类来存储您的数据。这个类必须有一个 getId()
方法。例如:
public class DomainObject {
private Long id;
private String data;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getData() {
return data;
}
public void setData(String data) {
this.data = data;
}
}
将您的安全方法更改为:
@PreAuthorize("hasPermission(#someInput, 'READ')")
public boolean myMethod(DomainObject someInput) {
return true;
}
现在,someInput.getId()
与 ACL_OBJECT_IDENTITY.object_id_identity
相同。
关于java - 什么进入 Spring Security 的 ACL_OBJECT_IDENTITY 表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16308504/
我正在尝试将支持 ACL 的 Spring Security 集成到现有的 GWT 应用程序中,如果我单击另一个无用的链接,我发誓我需要一个新的鼠标和键盘。我已经了解了使用 Spring 通过 LDA
我是一名优秀的程序员,十分优秀!