使用java URL连接绕过spring security

2023-12-30

我在我的项目中使用 Spring MVC,在将用户请求映射到 URI 时,我无法绕过它。由于 url 被拦截,我收到 403 错误。但我能够通过浏览器访问它。

Updated

我删除了 security.xml 中的拦截,当我尝试点击时,出现以下错误。

不支持请求方法“POST”

http://49.205.88.200:5080/Batasariservice/groupview.htm
username :  userx@bat
password :  123456

Updated:

我的休息控制器:

 @RestController
public class AuthenticateDeviceRestWS {

    @Autowired
    ManageDeviceWSBusiness manageDeviceWSBusiness;

    @RequestMapping(value = "authAndRegDevice.htm", method = RequestMethod.POST)
    public @ResponseBody String authenticateAndRegisterDevice(
            @RequestBody String notificationJsonRequest)
            throws BatasariWSException {
        WSDeviceAuthenticateRequest wsDeviceAuthenticateRequest = (WSDeviceAuthenticateRequest) UserAccessManagementUtil
                .convertToJava(notificationJsonRequest,
                        WSDeviceAuthenticateRequest.class);

        WSDeviceAuthenticateResponse wsDeviceAuthenticateResponse = manageDeviceWSBusiness
                .authAndRegisterDevice(wsDeviceAuthenticateRequest);

        return UserAccessManagementUtil
                .convertToJson(wsDeviceAuthenticateResponse);
    }

}

UpdatedJava 主类,即,经过测试

public class AuthURLConnection {
static String URL = "http://localhost:5080/Batasariservice/authAndRegDevice.htm";

public static void main(String[] args) {
    // TODO Auto-generated method stub
    String json = "{ " + "\"deviceID\":\"Test\", "
            + "\"deviceName\":\"Test Device\",  "
            + "\"phoneNumber\":\"testnumber\",   "
            + "\"companyIdentifier\":\"bat\",   "
            + "\"userIdentifier\":\"Test\",   " + "\"addtionalInfo\":\"\""
            + "}";
    wsRequest(json);

}

private static void wsRequest(String jsonInput) {

    try {

        URL targetUrl = new URL(URL);
        HttpURLConnection httpConnection = (HttpURLConnection) targetUrl
                .openConnection();

        httpConnection.setDoOutput(true);
        httpConnection.setRequestMethod("POST");
        httpConnection.setRequestProperty("Content-Type",
                "application/json");



        OutputStream outputStream = httpConnection.getOutputStream();
        outputStream.write(jsonInput.getBytes());
        outputStream.flush();

        if (httpConnection.getResponseCode() != 200) {
            throw new RuntimeException("Failed : HTTP error code : "
                    + httpConnection.getResponseCode() + ":"
                    + httpConnection.getResponseMessage());
        }

        BufferedReader responseBuffer = new BufferedReader(
                new InputStreamReader(httpConnection.getInputStream()));

        String output;
        StringBuffer sb = new StringBuffer();
        while ((output = responseBuffer.readLine()) != null) {
            sb.append(output);
        }

        httpConnection.disconnect();

    } catch (MalformedURLException e) {

        e.printStackTrace();

    } catch (IOException e) {

        e.printStackTrace();

    }

}

}

Updated我的 spring-security.xml 文件

<http auto-config="true" use-expressions="true">
        <intercept-url pattern="/userLogin*" access="permitAll" />
        <intercept-url pattern="/authAndRegDevice.htm" access="permitAll" />
        <intercept-url pattern="/css/**" access="permitAll" />
        <intercept-url pattern="/**" access="hasRole('DefaultRole')" />

        <!-- access denied page -->
        <access-denied-handler error-page="/403" />

        <form-login login-page="/userLogin.htm" default-target-url="/groupview.htm"
            authentication-failure-url="/userLogin.htm?error" username-parameter="username"
            password-parameter="password" authentication-success-handler-ref="authSuccessHandler" />

        <csrf />
    </http>

    <beans:bean id="authSuccessHandler"
        class="com.pathfinder.filter.AuthenticationSuccessHandlerImpl" />
    <beans:bean id="encoder"
        class="org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder"/>


        <authentication-manager>
            <authentication-provider>
                <password-encoder ref="encoder" />
                <jdbc-user-service data-source-ref="dataSource"
                    users-by-username-query="select username,password, status from users where username=?"
                    authorities-by-username-query="select username, 'DefaultRole' as role from userrolesview where username =?  " />
            </authentication-provider>
        </authentication-manager>

None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用java URL连接绕过spring security 的相关文章

  • Java 枚举与创建位掩码和检查权限的混淆

    我想将此 c 权限模块移植到 java 但是当我无法将数值保存在数据库中然后将其转换为枚举表示形式时 我很困惑如何执行此操作 在 C 中 我创建一个如下所示的枚举 public enum ArticlePermission CanRead
  • 如何循环遍历所有组合,例如48 选择 5 [重复]

    这个问题在这里已经有答案了 可能的重复 如何在java中从大小为n的集合中迭代生成k个元素子集 https stackoverflow com questions 4504974 how to iteratively generate k
  • 为什么 JTables 使 TableModel 在呈现时不可序列化?

    所以最近我正在开发一个工具 供我们配置某些应用程序 它不需要是什么真正令人敬畏的东西 只是一个具有一些 SQL 脚本生成功能并创建几个 XML 文件的基本工具 在此期间 我使用自己的 AbstractTableModel 实现创建了一系列
  • 使用 LinkedList 实现下一个和上一个按钮

    这可能是一个愚蠢的问题 但我很难思考清楚 我编写了一个使用 LinkedList 来移动加载的 MIDI 乐器的方法 我想制作一个下一个和一个上一个按钮 以便每次单击该按钮时都会遍历 LinkedList 如果我硬编码itr next or
  • 动态选择端口号?

    在 Java 中 我需要获取端口号以在同一程序的多个实例之间进行通信 现在 我可以简单地选择一些固定的数字并使用它 但我想知道是否有一种方法可以动态选择端口号 这样我就不必打扰我的用户设置端口号 这是我的一个想法 其工作原理如下 有一个固定
  • 如何使用assertEquals 和 Epsilon 在 JUnit 中断言两个双精度数?

    不推荐使用双打的assertEquals 我发现应该使用带有Epsilon的形式 这是因为双打不可能100 严格 但无论如何我需要比较两个双打 预期结果和实际结果 但我不知道该怎么做 目前我的测试如下 Test public void te
  • 过滤两次 Lambda Java

    我有一个清单如下 1 2 3 4 5 6 7 和 预期结果必须是 1 2 3 4 5 6 7 我知道怎么做才能到7点 我的结果 1 2 3 4 5 6 我也想知道如何输入 7 我添加了i gt i objList size 1到我的过滤器
  • 如何在 Spring 中禁用使用 @Component 注释创建 bean?

    我的项目中有一些用于重构逻辑的通用接口 它看起来大约是这样的 public interface RefactorAwareEntryPoint default boolean doRefactor if EventLogService wa
  • 如何更改javaFX中按钮的图像?

    我正在使用javaFX 我制作了一个按钮并为此设置了图像 代码是 Image playI new Image file c Users Farhad Desktop icons play2 jpg ImageView iv1 new Ima
  • 将流转换为 IntStream

    我有一种感觉 我在这里错过了一些东西 我发现自己做了以下事情 private static int getHighestValue Map
  • java.lang.IllegalStateException:提交响应后无法调用 sendRedirect()

    这两天我一直在尝试找出问题所在 我在这里读到我应该在代码中添加一个返回 我做到了 但我仍然得到 java lang IllegalStateException Cannot call sendRedirect after the respo
  • 无法创建请求的服务[org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]-MySQL

    我是 Hibernate 的新手 我目前正在使用 Spring boot 框架并尝试通过 hibernate 创建数据库表 我知道以前也问过同样的问题 但我似乎无法根据我的环境找出如何修复错误 休眠配置文件
  • 帮助将图像从 Servlet 获取到 JSP 页面 [重复]

    这个问题在这里已经有答案了 我目前必须生成一个显示字符串文本的图像 我需要在 Servlet 上制作此图像 然后以某种方式将图像传递到 JSP 页面 以便它可以显示它 我试图避免保存图像 而是以某种方式将图像流式传输到 JSP 自从我开始寻
  • 当 OnFocusChangeListener 应用于包装的 EditText 时,TextInputLayout 没有动画

    不能比标题说得更清楚了 我有一个由文本输入布局包裹的 EditText 我试图在 EditText 失去焦点时触发一个事件 但是 一旦应用了事件侦听器 TextInputLayout 就不再对文本进行动画处理 它只是位于 editText
  • Eclipse 选项卡宽度不变

    我浏览了一些与此相关的帖子 但它们似乎并不能帮助我解决我的问题 我有一个项目 其中 java 文件以 2 个空格的宽度缩进 我想将所有内容更改为 4 空格宽度 我尝试了 正确的缩进 选项 但当我将几行修改为 4 空格缩进时 它只是将所有内容
  • 使用 AsyncTask 传递值

    我一直在努力解决这个问题 但我已经到了不知道该怎么办的地步 我想做的是使用一个类下载文件并将其解析为字符串 然后将该字符串发送到另一个类来解析 JSON 内容 所有部件都可以单独工作 并且我已经单独测试了所有部件 我只是不知道如何将值发送到
  • Cucumber 0.4.3 (cuke4duke) 与 java + maven gem 问题

    我最近开始为 Cucumber 安装一个示例项目 并尝试使用 maven java 运行它 我遵循了这个指南 http www goodercode com wp using cucumber tests with maven and ja
  • 最新的 Hibernate 和 Derby:无法建立 JDBC 连接

    我正在尝试创建一个使用 Hibernate 连接到 Derby 数据库的准系统项目 我正在使用 Hibernate 和 Derby 的最新版本 但我得到的是通用的Unable to make JDBC Connection error 这是
  • 长轮询会冻结浏览器并阻止其他 ajax 请求

    我正在尝试在我的中实现长轮询Spring MVC Web 应用程序 http static springsource org spring docs 2 0 x reference mvc html但在 4 5 个连续 AJAX 请求后它会
  • Spring Rest 和 Jsonp

    我正在尝试让我的 Spring Rest 控制器返回jsonp但我没有快乐 如果我想返回 json 但我有返回的要求 完全相同的代码可以正常工作jsonp我添加了一个转换器 我在网上找到了用于执行 jsonp 转换的源代码 我正在使用 Sp

随机推荐

  • Android webview中的无限滚动

    我有一些本地 html 文件 我想用无限滚动方法显示它们 NOTE 我无法更改 html 内容 所以请不要建议向其中添加 javascript 我必须在运行时执行此操作 所以 我发现我可以执行javascript在运行时通过loadUrl
  • 生成的 pdf 中的文本是反向的

    我正在使用 pdfbox 向 pdf 文件添加一行 但我添加的文字是相反的 File file new File filePath PDDocument document PDDocument load file PDPage page d
  • 如何从 Magento-1 价格中删除小数点?

    我在搜索中找到的只是一个编程解决方案 我知道我们可以修改 lib Zend Locale Data en xml 以用于英语商店 en xml中有这部分
  • 我们可以在每个 上方的 table 内添加 div 吗?

    您好 我正在尝试在每个上面添加一个 div tr 但是当我查看 html 控制台时 div 显示在表格之外 下面是html代码 table div tr td td tr div div tr td td tr div table 这是不允
  • 计算方法的执行时间

    可能的重复 如何测量函数运行的时间 https stackoverflow com questions 10107140 how to measure how long is a function running 我有一个 I O 计时方法
  • 如何在Google App Engine灵活环境中运行TensorFlow?

    之前我问为什么GAE在这里找不到TensorFlow libhttps stackoverflow com questions 40241846 why googleappengine gives me importerror no mod
  • Rails 5 处理 ActionController::ParameterMissing 的方法

    如果使用强参数缺少所需的参数 Rails 服务器将使用 HTTP 500 进行响应 这并不能让我控制向用户反馈到底出了什么问题 能够向他们发送缺少所需参数的消息是否没有意义 提供适当用户反馈的 Rails 方式 是什么ActionContr
  • SQLite 中的“如果不存在则插入”语句

    我有一个 SQLite 数据库 我正在尝试插入值 users id lessoninfo id 表中bookmarks 仅当两者之前不连续存在时 INSERT INTO bookmarks users id lessoninfo id VA
  • 如何更改另一个进程的内存空间中的值

    如果你能帮助我解决这个困境 现在 我知道C C 我知道asm 我知道dll注入 我知道虚拟内存寻址 但我就是不知道如何 像 CheatEngine 等软件可以在另一个进程中更改变量的值 对于那些不知道的人来说 第 3 方作弊引擎工具可以扫描
  • Python 的单元测试可以像鼻子一样并行测试吗?

    Python的NOSE测试框架有以下概念并行运行多个测试 https nose readthedocs io en latest plugins multiprocess html 这样做的目的不是为了测试代码中的并发性 而是为了让 没有副
  • 在 Eclipse 中禁用“下载源代码和 javadoc”

    我正在使用 Eclipse 20210312 0638 我已从首选项 第一张图片 中取消选中 下载工件源 和 下载工件 javadoc 它仍在下载它们 第二张图片 我还应该更改其他配置吗 有人已经修复了 Eclipse 中的一个错误 htt
  • 仅当字符串中存在小写字母时,使用一个正则表达式匹配所有大写单词

    我偶然发现了这个看似微不足道的问题 但我却被困住了 我有一个字符串 我想在其中匹配在一个正则表达式中全部大写单词only如果字符串中的某个位置至少有一个小写字母 基本上 我希望每一行 我们可以考虑将正则表达式分别应用于每一行 不需要进行一些
  • 致命:不是有效的对象名称:'master'

    我有一个运行 git 1 7 的私人服务器 当我 git init 它不会创建主分支的文件夹 因为当我这样做时 git branch 它没有列出任何内容 当我做 git bare init 它创建文件 当我打字时 git branch ma
  • 如何在 Unity Shader 中实现简单的高度图

    首先我要说的是我对着色器编程知之甚少 我这里的很多内容都是由在线资源和现有资产拼接而成的 我只需要知道如何将高度图正确集成到统一着色器中 它不必比标准 Unity 着色器更复杂 我无法使用标准着色器 因为我需要一个将多个纹理平铺在一起的着色
  • 无法使用 create-react-app 创建应用程序

    当我尝试使用创建应用程序时创建反应应用程序给出一个错误 error 电子邮件受保护 cdn cgi l email protection 引擎 节点 与此不兼容 模块 预期版本 6 14 0 8 10 0 gt 9 10 0 错误 发现不兼
  • 如何从 javascript 调用 cfm 页面上的 cffunction?

    我想知道我是否可以打电话cffunction在我的 cfm 页面上 我有onClick按钮应该调用cffunction这是在同一页上 我也尝试过cfcomponent围绕我的函数 但我收到此错误 Invalid CFML construct
  • 以编程方式将行添加到无界 datagridview

    我将值从一种表单发送到另一种表单 然后想在 dgv 中显示 我正在尝试这个 执行过程中没有错误 bt 它没有在 dgv 中显示数据 lineItemsDGV Rows Add int RowIndex lineItemsDGV RowCou
  • 什么是用于在 Python 中验证文件的优秀音频库?

    我已经在检查内容类型 大小和扩展名 Django 音频 文件验证 https stackoverflow com questions 6194901 django audio file validation 但我需要一个库来读取该文件并确认
  • 如何声明 std::unique_ptr 以及它有什么用?

    我试着去理解如何std unique ptr有效 为此我发现this http www codeguru com cpp article php c17775 The Smart Pointer That Makes Your C Appl
  • 使用java URL连接绕过spring security

    我在我的项目中使用 Spring MVC 在将用户请求映射到 URI 时 我无法绕过它 由于 url 被拦截 我收到 403 错误 但我能够通过浏览器访问它 Updated 我删除了 security xml 中的拦截 当我尝试点击时 出现