小编Luc*_*tas的帖子

发布后,Spring Security Access被拒绝403

我在其他帖子中几乎尝试了所有关于它的事情,没有任何与我的问题有关.

如果我尝试通过GET恢复我的URL(例如:路径/用户/编辑/ 1),一切正常,我被重定向到用户编辑页面,但是如果我尝试通过POST访问此页面,则spring security拒绝我访问到页面.

这两个方法都映射到我的控制器类中.

@RequestMapping(value="/users/edit/{id}", method={RequestMethod.POST,RequestMethod.GET})
public ModelAndView login(ModelAndView model, @PathVariable("id") int id ) {
    model.addObject("user", this.userService.getUserById(id));
    model.setViewName("/users/add"); //add.jsp
    return model;
}
Run Code Online (Sandbox Code Playgroud)

我使用的形式

<f:form method="post" action="/users/edit/${user.id}">
     <button type="submit">Edit</button>
</f:form>
Run Code Online (Sandbox Code Playgroud)

Spring security.xml

<beans:beans xmlns="http://www.springframework.org/schema/security"
xmlns:beans="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/security
http://www.springframework.org/schema/security/spring-security-3.2.xsd">

<!-- enable use-expressions -->
<http auto-config="true" use-expressions="true">
    <intercept-url pattern="/secure**" access="hasAnyRole('ROLE_USER','ROLE_ADMIN')" />
    <intercept-url pattern="/secure/users**" access="hasAnyRole('ROLE_USER','ROLE_ADMIN')" />

    <!-- access denied page -->
    <access-denied-handler error-page="/denied" />
    <form-login 
        login-page="/home" 
        default-target-url="/secure" 
        authentication-failure-url="/home?error" 
        username-parameter="inputEmail"
        password-parameter="inputPassword" />
    <logout logout-success-url="/home?logout"  />
    <!-- enable csrf protection -->
    <csrf/>
</http> …
Run Code Online (Sandbox Code Playgroud)

java spring spring-mvc csrf spring-security

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

Android Camera2错误的旋转

我正在尝试实现android.hardware.camera2,但我对它有点困惑.

相机随手机一起旋转.

拍摄前,如果我旋转手机,相机会旋转而不是保持相同的位置.

这里的示例图像.

我不知道为什么会这样.我没有两个布局持有人.

相机XML:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:fab="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".Camera" >

    <TextureView
        android:id="@+id/texture"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentTop="true" />

    <com.getbase.floatingactionbutton.FloatingActionButton
        android:id="@+id/btn_takepicture"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        fab:fab_icon="@drawable/ic_fab_foto"
        fab:fab_colorNormal="#FFFF56B9"
        fab:fab_colorPressed="#FFD5379B"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="16dp" />

    <com.getbase.floatingactionbutton.FloatingActionButton
        android:id="@+id/btn_switchcam"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        fab:fab_icon="@drawable/ic_fab_switch"
        fab:fab_colorNormal="#267300"
        fab:fab_colorPressed="#1e5b00"
        fab:fab_size="mini"
        android:layout_alignParentTop="true"
        android:layout_alignParentRight="true"
        android:layout_marginTop="16dp"
        android:layout_marginRight="16dp" />

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

相机活动:

public class AppCamera extends AppCompatActivity {
    private Size mPreviewSize;

    private TextureView mTextureView;
    private CameraDevice mCameraDevice;
    private CaptureRequest.Builder mPreviewBuilder;
    private CameraCaptureSession mPreviewSession;
    private static int cam = 0;

    private …
Run Code Online (Sandbox Code Playgroud)

xml android android-layout android-camera

7
推荐指数
1
解决办法
5742
查看次数

Spring CSRF + AngularJs

我已经尝试了许多有关此主题的答案,但没有人适合我。

\n\n

我有一个基本的 CRUD,使用 Spring MVC 4.1.7、Spring Security 3.2.3 在 MySQL + Tomcat7 上工作。

\n\n

问题是,当我尝试使用 AngularJS POST 表单时,我一直被错误 403(访问被拒绝)阻止。

\n\n

我发现我需要通过 POST 请求发送我的 CSRF_TOKEN,但我不知道如何!

\n\n

我尝试了很多不同的方法,但没有一个有效。

\n\n

我的文件

\n\n

控制器.js

\n\n
$scope.novo = function novo() {\n  if($scope.id){\n   alert("Update - " + $scope.id);\n  }\n  else{\n      var Obj = {\n              descricao : \'Test\',\n              saldo_inicial : 0.00,\n              saldo : 33.45,\n              aberto : false,\n              usuario_id : null,\n              ativo : true\n      };\n      $http.post(urlBase + \'caixas/adicionar\', Obj).success(function(data) {\n          $scope.caixas = data;    \n      }).error(function(data) {alert(data)});\n  }\n …
Run Code Online (Sandbox Code Playgroud)

spring-mvc csrf spring-security angularjs

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

HTTP状态403 - 在请求参数上找到无效的CSRF令牌"null"

我必须向我的restful服务发出HTTP.Post(Android App),以注册新用户!

问题是,当我尝试向注册终端发出请求(没有安全性)时,Spring一直阻止我!

我的项目依赖关系

<properties>
    <java-version>1.6</java-version>
    <org.springframework-version>4.1.7.RELEASE</org.springframework-version>
    <org.aspectj-version>1.6.10</org.aspectj-version>
    <org.slf4j-version>1.6.6</org.slf4j-version>
    <jackson.version>1.9.10</jackson.version>
    <spring.security.version>4.0.2.RELEASE</spring.security.version>
    <hibernate.version>4.2.11.Final</hibernate.version>
    <jstl.version>1.2</jstl.version>
    <mysql.connector.version>5.1.30</mysql.connector.version>
</properties>
Run Code Online (Sandbox Code Playgroud)

春季安全

<beans:beans xmlns="http://www.springframework.org/schema/security"
    xmlns:beans="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans.xsd
    http://www.springframework.org/schema/security
    http://www.springframework.org/schema/security/spring-security.xsd">

<!--this is the register endpoint-->
<http security="none" pattern="/webapi/cadastro**"/>


    <http auto-config="true" use-expressions="true">
                <intercept-url pattern="/webapi/dados**"
            access="hasAnyRole('ROLE_USER','ROLE_SYS')" />
        <intercept-url pattern="/webapi/system**"
            access="hasRole('ROLE_SYS')" />

<!--        <access-denied-handler error-page="/negado" /> -->
        <form-login login-page="/home/" default-target-url="/webapi/"
            authentication-failure-url="/home?error" username-parameter="username"
            password-parameter="password" />
        <logout logout-success-url="/home?logout" />        
        <csrf token-repository-ref="csrfTokenRepository" />
    </http>

    <authentication-manager>
        <authentication-provider>
            <password-encoder hash="md5" />
            <jdbc-user-service data-source-ref="dataSource"
                users-by-username-query="SELECT username, password, ativo
                   FROM usuarios 
                  WHERE username = ?"
                authorities-by-username-query="SELECT …
Run Code Online (Sandbox Code Playgroud)

java spring android spring-security angularjs

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

ASP.NET Core 1.1本地化通用服务

我正在制作一个ASP.NET Core 1.1应用程序并尝试设置本地化.

当我在我ValuesController的实现上IStringLocalizer它工作正常并本地化我的资源文件.

public ValuesController(IStringLocalizer<ValuesController> localizer, IService<BaseEntity> service)
{
    _localizer = localizer;
    _service = service;
}
Run Code Online (Sandbox Code Playgroud)

上面的代码在"Resources/Controllers/ValuesController.en-US.resx"中找到我的资源.

但是,当我尝试注入IStringLocalizer一个通用服务时,它无法找到我的资源文件.

public class Service<T> : IService<T>
    where T : BaseEntity
{
    #region Properties
    protected IRepository Repository { get; set; }
    protected IUnitOfWorkFactory UnitOfWorkFactory { get; set; }
    private readonly ILogger _logger;
    private readonly IStringLocalizer _localizer;

    #endregion

    #region Ctor
    public Service(IRepository repository, IUnitOfWorkFactory unitOfWorkFactory,
        ILogger<Service<T>> logger, IStringLocalizer<Service<T>> localizer)
    {
        Repository = repository;
        UnitOfWorkFactory = unitOfWorkFactory;
        _logger = …
Run Code Online (Sandbox Code Playgroud)

c# .net-core asp.net-core asp.net-core-localization

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

.NET Core - 无法加载文件或程序集

我正在尝试在 aspnet 核心 1.1 应用程序中使用自定义 DLL(4.5 框架)。

我正在使用 Microsoft.NETCore.Portable.Compatibility

当我运行项目并尝试调用库项目的某个类时,vs2017 抛出以下异常。

Could not load file or assembly 'ApiHelperSock, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'. O sistema não pode encontrar o arquivo especificado.
Run Code Online (Sandbox Code Playgroud)

如果我检查 bin\Debug\netcoreapp1.1我可以在这里看到我的dll。

这是我的 project.json 文件

{
  "compilerOptions": {
    "noImplicitAny": false,
    "noEmitOnError": true,
    "removeComments": false,
    "sourceMap": true,
    "target": "es5"
  },
  "exclude": [
    "node_modules",
    "wwwroot"
  ]
}
Run Code Online (Sandbox Code Playgroud)

有任何想法吗 ?

- - 编辑 - -

尝试使用我的 dll 设置 nuget 包,尝试导入时出现以下错误:

The package ApHelperSock 1.0.0 isn't compatible with netcoreapp1.1 (.NETCoreApp,Version=v1.1). The package ApiHelperSock 1.0.0 …
Run Code Online (Sandbox Code Playgroud)

.net c# asp.net-core

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

C#反射表达Linq

我在使用C#动态生成的lambda表达式时遇到了一些问题.

考虑以下情况:

public class Person {
    public long Id { get; set; }
    public string Name { get; set; }
}

List<Person> persons = new List<Person> () {
    new Person { Id = 1, Name = "Foo" },
    new Person { Id = 2, Name = "Bar" },
    new Person { Id = 3, Name = "Baz" },
    new Person { Id = 4, Name = null },
};
Run Code Online (Sandbox Code Playgroud)

现在,做以下代码

ParameterExpression param = Expression.Parameter(typeof(Person), "arg");
Expression prop = Expression.Property(param, "Name"); …
Run Code Online (Sandbox Code Playgroud)

c# reflection lambda

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