<dependency>
<groupId>org.phframework</groupId>
<artifactId>ph-framework</artifactId>
<version>1.0.0</version>
</dependency>
public class ExampleClass {
@RequiresAuthentication
@RequiresPermission("user:create")
public void createUser(User user) {
}
@RequiresAuthentication
@RequiresRole("admin")
public void deleteUser(User user) {
}
}
<bean id="phadvisor" class="org.phframework.aspect.PHAdvisor">
<property name="authenticationManager" ref="authenticationManager" />
<property name="permissionManager" ref="permissionManager" />
<property name="roleManager" ref="roleManager" />
</bean>
<bean id="authenticationManager" class="org.phframework.manager.AuthenticationManager">
<property name="userDetailsService" ref="userDetailsService" />
</bean>
<bean id="permissionManager" class="org.phframework.manager.PermissionManager">
<property name="permissionService" ref="permissionService" />
</bean>
<bean id="roleManager" class="org.phframework.manager.RoleManager">
<property name="roleService" ref="roleService" />
</bean>
<bean id="userDetailsService" class="com.example.UserDetailsServiceImpl" />
<bean id="permissionService" class="com.example.PermissionServiceImpl" />
<bean id="roleService" class="com.example.RoleServiceImpl" />
public class ExampleApp {
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
ExampleClass example = context.getBean(ExampleClass.class);
User user = new User("John", "Doe");
}
}