小编Agu*_*pez的帖子

Spring Security - 没有密码的程序化登录

当用户使用Spring Security单击其电子邮件中的链接时,我正尝试执行自动登录.

我已经看到很多例子来执行程序化登录,如下所示:

UsernamePasswordAuthenticationToken token = new UsernamePasswordAuthenticationToken(username, password);
try {
    Authentication auth = authenticationManager.authenticate(token);
    SecurityContextHolder.getContext().setAuthentication(auth);
    repository.saveContext(SecurityContextHolder.getContext(), request, response);
    rememberMeServices.loginSuccess(request, response, auth);
 ....
Run Code Online (Sandbox Code Playgroud)

我看到的问题是我没有原始密码,所以我无法创建UsernamePasswordAuthenticationToken.如果我没有明文密码(我有一个被编码的密码),还有其他任何登录用户的方法吗?

提前致谢.

spring-mvc spring-security

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

服务器使用Spring MVC发送事件+ Java

我目前遇到与SSE和Windows XP相关的问题.以下源代码目前适用于我尝试过的每个Chrome,但Windows XP中的Chrome除外(?)不确定原因.这旨在用于控制面板,用户必须使用Chrome.换句话说,我不关心IE,Firefox等.

问题:服务器端事件无处不在(Chrome),但不适用于Windows XP(Chrome).当我说它有效时,我的意思是调用消息处理程序.

代码

  • Javascript代码

    if (!!window.EventSource) {
       console.log("Event source available");
       var source = new EventSource('/admin/systemalert');
    
       source.addEventListener('message', function(e) {
            console.log(e.data);
       });
    
       source.addEventListener('open', function(e) {
            console.log("Connection was opened.");
       }, false);
    
       source.addEventListener('error', function(e) {
            if (e.readyState == EventSource.CLOSED) {
                console.log("Connection was closed.");
            } else {
                console.log(e.readyState);    <-- in windows XP it prints Error here
            }
       }, false);
    } else {
            console.log("No SSE available");
    }
    
    Run Code Online (Sandbox Code Playgroud)
  • 服务器端代码

    @Controller
    @RequestMapping("/admin/**")
    public class AdminController {
    
            @RequestMapping("systemalert")
            public @ResponseBody String sendMessage(HttpServletResponse …
    Run Code Online (Sandbox Code Playgroud)

javascript java html5 spring-mvc

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

多个登录表单,不同的身份验证管理器 - 最新的弹簧安

我有一个使用Spring Security保护的Web应用程序,需要两个单独的登录表单.这两种登录表单需要完全独立.我的意思是不同的登录表单,不同的URL路径,每个人也可以拥有不同的身份验证管理器.

我已经浏览了整个谷歌并且有一些方法可以做到这一点,但我已阅读并看到过去几周的一些更改应该可以在代码的最新快照版本中轻松完成此操作.

首先,由于这个错误是完整的SEC-1171,我们现在可以有多个名称空间元素来支持多个过滤器链配置.

其次,正如其他错误显示SEC-1847,我们现在能够为每个http标签选择自定义身份验证管理器.

问题是我已下载,编译了所有内容,但我的xsd不允许我为每个http标签创建自定义auth管理器,每当我尝试更改登录处理URL或每次尝试使用记住每个登录表单的密钥.

我开始做这样的事情:

<!-- Configure realm for administration users -->
<http pattern="/admin/**" auto-config="true" disable-url-rewriting="true" >
    <intercept-url pattern="/admin/**" access="ROLE_ADMIN" />
    <form-login login-page="/adminLogin.htm" default-target-url="/" 
                login-processing-url="/loginProcessing" 
                authentication-failure-url="/adminLogin.htm?error" />
    <logout invalidate-session="true" logout-success-url="/" logout-url="/logout" />
<remember-me key="******" user-service-ref="userDetailsService" />
</http>

<!-- Configure realm for standard users -->
<http auto-config="true" disable-url-rewriting="true">
    <intercept-url pattern="/user/**" access="ROLE_USER" />
    <form-login login-page="/login.htm" default-target-url="/" 
                login-processing-url="/loginProcessing" 
                authentication-failure-url="/login.htm?error" />
    <logout invalidate-session="true" logout-success-url="/" logout-url="/logout" />
<remember-me key="******" user-service-ref="userDetailsService" />
</http>

<authentication-manager alias="authenticationManager">
<authentication-provider user-service-ref="userDetailsService"  >
    <password-encoder ref="passwordEncoder"/> …
Run Code Online (Sandbox Code Playgroud)

spring spring-security

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

警告:试图加载角度不止一次.当我包含JQuery时

我正在用角度发生器构建一个自耕农应用程序.

我的index.html文件中包含的js库是:

<script src="bower_components/jquery/dist/jquery.js"></script>
<script src="bower_components/modernizr/modernizr.js"></script>
<script src="bower_components/angular/angular.js"></script>   
<script src="bower_components/angular-ui-router/release/angular-ui-router.js"></script>
<script src="bower_components/d3/d3.js"></script>
<script src="bower_components/select2/select2.js"></script>
<script src="bower_components/angular-ui-select2/src/select2.js"></script>
Run Code Online (Sandbox Code Playgroud)

只有角度之前包含jquery时才会出现问题,如果它在它之后就不会发生.

标题所述的问题是我在控制台中得到"警告:尝试多次加载角度"并且应用程序无法初始化.

有没有人有任何线索为什么会发生这种情况?

我有一个ng-app,我只包括一次角度......以及一切.它看起来不像是与配置相关的东西,因为更改脚本的位置会修复它.

你们有什么线索吗?

有谁知道我是否能够配置包含脚本的顺序?当我使用角度生成器时,我已经使用usemin来设置它以包含bower脚本.我想知道是否有任何方法可以指定包含脚本的顺序.

这是我项目的bower.json文件:

{
  "name": "<name>",
  "version": "0.0.0",
  "dependencies": {
    "angular": "1.2.15",
    "json3": "~3.2.6",
    "es5-shim": "~2.1.0",
    "angular-ui-router": "~0.2.10",
    "modernizr": "~2.8.1",
    "d3": "~3.4.6",
    "angular-ui-select2": "~0.0.5"
  },
  "devDependencies": {
    "angular-mocks": "1.2.15",
    "angular-scenario": "1.2.15"
  }
}
Run Code Online (Sandbox Code Playgroud)

我试图在谷歌搜索没有运气.提前致谢!

更新1:

我刚刚发现,如果我以这种方式包含脚本,则角度将不会包含两次,并且始终首先加载.

  <!-- build:js scripts/vendor.js -->
  <script src="bower_components/angular/angular.js"></script>
  <!-- bower:js -->
  <script src="bower_components/jquery/dist/jquery.js"></script>
  <script src="bower_components/modernizr/modernizr.js"></script>
  <script src="bower_components/angular-ui-router/release/angular-ui-router.js"></script>
  <script src="bower_components/d3/d3.js"></script>
  <script …
Run Code Online (Sandbox Code Playgroud)

angularjs bower yeoman-generator-angular

10
推荐指数
2
解决办法
4万
查看次数

Jasny多个文件上传与其他表单元素

我尝试使用Jasny fileupload将多个文件传递给表单内的php,这个提交事件应该通过ajax发布的数据上传.但我无法让它发挥作用.我无法将jasny上传添加到发布的数据中.

如果有一个更好的解决方法,那么最好实现jasny,我想知道.

我按如下方式启动上传字段

jQuery('.fileupload').fileupload({});
Run Code Online (Sandbox Code Playgroud)

我试着抓住提交主题

wizard.on("submit", function(wizard) {
    jQuery.ajax({
      //here When I serialize the form I do not get the files
    });
});
Run Code Online (Sandbox Code Playgroud)

javascript php jquery file-upload twitter-bootstrap

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

使用"grunt build"构建yeoman角度生成器应用程序时,字体路径不正确

我遇到了为字体生成的路径的问题.我正在使用具有SASS支持的yeoman角度发生器.

我有一个名为_icons.scss的文件名,我添加了一个自定义字体:

@font-face {
  font-family: "streamline";
  src:url("fonts/streamline.eot");
  src:url("fonts/streamline.eot?#iefix") format("embedded-opentype"),
    url("fonts/streamline.woff") format("woff"),
    url("fonts/streamline.ttf") format("truetype"),
    url("fonts/streamline.svg#streamline-24px-filled") format("svg");
  font-weight: normal;
  font-style: normal;
}
Run Code Online (Sandbox Code Playgroud)

当我运行"grunt build"时,生成的最终CSS有不正确的路径指向我的本地计算机:

@font-face{font-family:streamline;src:url(/styles/fonts/streamline.eot);src:url(/Users/ajlopez/Desktop/dashboard/.tmp/styles/fonts/streamline.eot?#iefix) format("embedded-opentype"),url(/Users/ajlopez/Desktop/dashboard/.tmp/styles/fonts/streamline.woff) format("woff"),url(/Users/ajlopez/Desktop/dashboard/.tmp/styles/fonts/streamline.ttf) format("truetype"),url(/Users/ajlopez/Desktop/dashboard/.tmp/styles/fonts/streamline.svg#streamline-24px-filled) format("svg");
Run Code Online (Sandbox Code Playgroud)

我一直试图找出他们为什么指向我的本地机器而不是dist文件夹中的相对路径,但我有点迷失.

我的grunt文件是这样的:(它几乎没有改变角度生成器创建的内容).

'use strict';

module.exports = function (grunt) {

  // Load grunt tasks automatically
  require('load-grunt-tasks')(grunt);

  // Time how long tasks take. Can help when optimizing build times
  require('time-grunt')(grunt);

  // Define the configuration for all the tasks
  grunt.initConfig({

    // Project settings
    yeoman: {
      // configurable paths
      app: require('./bower.json').appPath || 'app',
      dist: 'dist'
    },

    // …
Run Code Online (Sandbox Code Playgroud)

gruntjs yeoman grunt-usemin yeoman-generator-angular

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