小编use*_*555的帖子

Spring Security授权 - 拒绝管理员访问

管理员角色的授权被拒绝访问整个系统 - 管理员和主页.所以我将ROLE_ADMIN添加到/ main/home intercept-url.

这是安全xml

<http auto-config="true" use-expressions="true">

<intercept-url pattern="/**" requires-channel="https" />
<intercept-url pattern='/main/home/' access="hasRole('ROLE_USER' 'ROLE_ADMIN')" />
<intercept-url pattern='/admin/admin/**' access="hasRole('ROLE_ADMIN')" />
<intercept-url pattern='/main/user/setter/settingpage' access="hasRole('ROLE_USER')" />
<intercept-url pattern='/main/user/setter/addpage' access="hasRole('ROLE_USER')" />
<intercept-url pattern='/login.jsp' access='IS_AUTHENTICATED_ANONYMOUSLY' /> 

<form-login login-page="/login.jsp" default-target-url="/main/home" authentication-failure-url="/auth/loginfail?error=true"/>

</http>  
Run Code Online (Sandbox Code Playgroud)

但这使得整个程序停止工作,因为当我运行代码时,错误是

无法解析表达式'hasRole('ROLE_USER''ROLE_ADMIN')'

当我删除ROLE_ADMIN系统工作,并可以验证用户,而不是ROLE_ADMIN谁现在被拒绝访问所有页面.我在db中设置了角色,直到最近才开始工作.

security spring spring-mvc spring-security

5
推荐指数
1
解决办法
1万
查看次数

休眠异常 - 无法解析属性:

我正在尝试检索一个对象及其子项。请求出现异常。

模型 - 员工类是一个自引用类,其中带有 checker_id 的检查员也是员工。而且工作人员和检查员都与模块模型有一对多的关系。

   public class Staff implements Serializable, 
  @Id
  @Column(name = "staff_id")
  private String staffId;

  @ManyToOne(cascade={CascadeType.ALL})
  @JoinColumn(name="checker_id")
  private Staff checker;

  @OneToMany(mappedBy="checker", orphanRemoval=true, cascade = CascadeType.ALL)
  private Set<Staff> setters = new HashSet<Staff>();

  @OneToMany(cascade=CascadeType.ALL, fetch=FetchType.LAZY, mappedBy="setter")
  private Set<Module> sModule = new HashSet<Module>();

  @OneToMany(cascade=CascadeType.ALL, fetch=FetchType.LAZY, mappedBy="checker")
  private Set<Module> cModule = new HashSet<Module>(); 

 //getters and setters}
Run Code Online (Sandbox Code Playgroud)

模块型号

  public class Module implements Serializable{

  @ManyToOne(fetch=FetchType.LAZY) 
 @JoinColumn(name="staff_id", insertable=false, updatable=false)
 private Staff setter;

 @ManyToOne(fetch=FetchType.LAZY) 
 @JoinColumn(name="checker_id", insertable=false, updatable=false)
 private Staff checker; 

 //getters and setters }
Run Code Online (Sandbox Code Playgroud)

DAO代码 …

hibernate

3
推荐指数
1
解决办法
2万
查看次数

Spring HTTP Status 400 - 客户端发送的请求在语法上不正确

我有一个表单,用户可以使用该表单将文件上载到本地驱动器,并将一些数据保存到数据库.但是这个错误信息出现了,我想知道如何处理它.

   HTTP Status 400 - The request sent by the client was syntactically incorrect.
Run Code Online (Sandbox Code Playgroud)

控制器

@RequestMapping(value = "/main/user/setter/addpage", method = 

RequestMethod.POST, params = "save")
public String saveProcess(@ModelAttribute("module") Module module, 

@RequestParam("userId") Integer userId, 
@RequestParam("name") String name,
@RequestParam("file") MultipartFile file, 
BindingResult result, HttpSession session) {
    if (result.hasErrors()) {
        return "redirect:/main/user/setter/settingpage";
    }
    else
    if(module != null){

         try {

             MultipartFile filea = module.getFileData();

             InputStream inputStream = null;
             OutputStream outputStream = null;
             if (filea.getSize() > 0) {
             inputStream = filea.getInputStream();
             outputStream = new FileOutputStream("C:\\Test\\"
             + …
Run Code Online (Sandbox Code Playgroud)

spring

3
推荐指数
1
解决办法
1万
查看次数