実際、私はROLE_USER、ROLE_MAKER、ROLE_CHECKERのようなデータベースに役割を持っています.今私は @PreAutorize(hasRole('ROLE_USER','ROLE_MAKER'),
よろしくお願いします
実際、私はROLE_USER、ROLE_MAKER、ROLE_CHECKERのようなデータベースに役割を持っています.今私は @PreAutorize(hasRole('ROLE_USER','ROLE_MAKER'),
よろしくお願いします
私のアプリケーションでは、SQL Server Express を Hibernate に接続したいと考えています。しかし、ダウンロードする必要がある jar ファイルが何であり、この jar ファイルをどこで入手できるのかわかりません。jar ファイルを追加せずにアプリケーションを実行すると、次のエラーがスローされます。
org.hibernate.HibernateException: JDBC Driver class not found: net.sourceforge.jtds.jdbc.Driver
http://static.springsource.org/spring-security/site/docs/3.0.x/reference/el-access.htmlでパーミッション エバリュエーターを確認してください。
ステップ 1: パーミッション エバリュエーターを使用することを Spring に伝えます。
<beans:bean id="expressionHandler" class="org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler">
<beans:property name="permissionEvaluator">
<beans:bean id="permissionEvaluator" class="com.npacemo.permissions.SomePermissionsEvaluator"/>
</beans:property>
</beans:bean>
Step2: com.npacemo.permissions.SomePermissionsEvaluator に PermissionEvaluator を実装する
class SomePermissionsEvaluator implements PermissionEvaluator {
boolean hasPermission(Authentication authentication,
java.lang.Object targetDomainObject,
java.lang.Object permission){
if(permission.equals("check role")){
//ok I need to check for roles from DB..
if matching then return true else false..
//write logic as per ur requirement
}
boolean hasPermission(Authentication authentication,
java.io.Serializable targetId,
java.lang.String targetType,
java.lang.Object permission){
//write logic as per ur requirement
}
}
ステップ 3: PreAuthorize 内で hasPermission を呼び出して、ロールを確認する
@PreAuthorize("hasPermission(#contact, 'check role')")
public void deleteApplication(Contact contact);