小编Mir*_*ciu的帖子

阻止重定向登录Spring Security

我有Spring MVC + Spring Security项目.

<http auto-config="true" access-denied-page="/security/accessDenied" use-expressions="true" disable-url-rewriting="true">

... 
<intercept-url pattern="/dashboard/myaccount/**" access="hasAnyRole('ROLE_PERSON', 'ROLE_DEALER')"/>
...

<form-login login-page="/security/login" authentication-failure-url="/security/login?error=true"
                default-target-url="/security/success" username-parameter="email"
                password-parameter="secret"/>
<logout invalidate-session="true" logout-success-url="/index" logout-url="/security/logout"/>
Run Code Online (Sandbox Code Playgroud)

如果用户进入登录页面,如果成功将被重定向到"/ security/success",我在控制器中用会话对象做更多的东西(记录userID,...等)

我的问题是当一个GUEST用户进入/ dashboard/myaccount(需要AUTH)时,他被重定向到LOGIN页面(我不想要,我更喜欢抛出404).之后Spring Security没有重定向到/ security/success.而是重定向到/ dashboard/myaccount.

在GUEST尝试访问AUTH页面的情况下,我更愿意找到一种方法来完全禁用此重定向到登录页面.

有办法做到这一点吗?

TNX

java security redirect spring spring-mvc

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

EL通过Integer键获取HashMap的值

我有这个HashMap:

    Map<Integer, String> odometerMap = new LinkedHashMap<Integer, String>();
    odometerMap.put(0, getLocaleForKey("drop-down.any"));
    odometerMap.put(1, "< 1000");
    odometerMap.put(2, "1000 - 5000");
    odometerMap.put(3, "5000 - 10000");
    odometerMap.put(4, "10000 - 20000");
    odometerMap.put(5, "20000 - 30000");
    odometerMap.put(6, "30000 - 40000");
    odometerMap.put(7, "40000 - 60000");
    odometerMap.put(8, "60000 - 80000");
    odometerMap.put(9, "> 80000");
Run Code Online (Sandbox Code Playgroud)

我在JSP中的目标是打印例如$ {odometerMap [2]}(结果为空字符串):

    <c:out value="${odometerMap[2]}"/>
Run Code Online (Sandbox Code Playgroud)

如果我只打印$ {odometerMap},我会得到完整的地图:

{0=Any, 1=< 1000, 2=1000 - 5000, 3=5000 - 10000, 4=10000 - 20000, 5=20000 - 30000, 6=30000 - 40000, 7=40000 - 60000, 8=60000 - 80000, 9=> 80000}
Run Code Online (Sandbox Code Playgroud)

如何只打印我选择的元素?例如:2?

谢谢

jsp jstl el

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

JSF 2.3模式

http://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_2_3.xsd似乎没有退出.2.2工作正常.

<faces-config
    xmlns="http://xmlns.jcp.org/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_2_3.xsd"
    version="2.3">
Run Code Online (Sandbox Code Playgroud)

有什么想法吗?

应用程序工作正常,但IntelliJ显示Red中的所有内容,因为无法验证模式.

jsf intellij-idea jsf-2.3

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

微服务 HttpStatus 代码

这是一个与微服务架构中各种 API 之间的通信信号良好实践相关的问题。

我面临以下“事件”:

  1. 一个微服务已关闭(物理上)
  2. 一个微服务正在使用错误的 URL 调用另一个微服务
  3. 一个微服务正在使用正确的 URL 但错误的参数调用另一个微服务(例如查询参数,或 POST 正文验证失败)
  4. 一个微服务正在向另一个微服务请求资源,但在数据库中找不到该特定资源(假设是 findById 类型)

我需要找到一种更好的方法来通过使用 HTTP 状态代码和各种有效负载来发出这些信号,详细解释正在发生的情况。

例如:

  1. 对于情况 1,我可以使用 NOT_FOUND (404) 和有效负载:API_DOWN
  2. 对于情况 2,我可以使用 BAD_REQUEST (400)
  3. 对于情况 3,我还可以将 BAD_REQUEST (400) 与验证负载消息一起使用
  4. 对于情况 4,我还可以将 NOT_FOUND (404) 与 RESOURCE_NOT_FOUND 消息一起使用
  5. 如果由未捕获的异常引起,其他一切都可能是 INTERNAL_SERVER_ERROR。
  6. 200 OK 好东西

有什么想法吗?我对我的临时解决方案并不是 100% 满意。想让它变得更好。我知道这里有两种动物:一种是客户端-服务器信号,第二种与数据相关(有效负载丢失等)

api microservices

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

标签 统计

api ×1

el ×1

intellij-idea ×1

java ×1

jsf ×1

jsf-2.3 ×1

jsp ×1

jstl ×1

microservices ×1

redirect ×1

security ×1

spring ×1

spring-mvc ×1