小编Mat*_*ble的帖子

是否有可能以编程方式使用Spring Security进行身份验证并使其持久化?

我在Spring Controller中使用以下方法来允许通过Ajax进行身份验证.它可以工作,但似乎没有创建cookie或任何使身份验证持久的东西.

@RequestMapping(method = RequestMethod.POST)
@ResponseBody
public LoginStatus login(@RequestParam("j_username") String username,
                         @RequestParam("j_password") String password) {

    UsernamePasswordAuthenticationToken token = new UsernamePasswordAuthenticationToken(username, password);

    try {
        Authentication auth = authenticationManager.authenticate(token);
        SecurityContextHolder.getContext().setAuthentication(auth);
        return new LoginStatus(auth.isAuthenticated(), auth.getName());
    } catch (BadCredentialsException e) {
        return new LoginStatus(false, null);
    }
}
Run Code Online (Sandbox Code Playgroud)

我需要做什么才能使身份验证持久化?

java security spring spring-security

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

从 Spring Boot 控制器返回 JAXB 生成的元素

我正在从http://www.ncpdp.org的 XSD 文件生成大量 Java 文件(仅对会员可用)。生成它们后,我想在 Spring 控制器中使用它们,但在将响应转换为 XML 时遇到问题。

我尝试返回元素本身以及 JAXBElement<T>,但似乎都不起作用。下面的测试失败:

java.lang.AssertionError: Status 
Expected :200
Actual   :406

@Test
public void testHelloWorld() throws Exception {
    mockMvc.perform(get("/api/message")
            .accept(MediaType.APPLICATION_XML)
            .contentType(MediaType.APPLICATION_XML))
            .andExpect(status().isOk())
            .andExpect(content().contentType(MediaType.APPLICATION_XML));
}
Run Code Online (Sandbox Code Playgroud)

这是我的控制器:

import org.ncpdp.schema.transport.MessageType;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloWorldController {

    @RequestMapping(value = "/api/message", method = RequestMethod.GET)
    public MessageType messageType() {
        return new MessageType();
    }
}
Run Code Online (Sandbox Code Playgroud)

我尝试创建一个 MvcConfig 来覆盖 Spring Boot 的 MVC 配置,但它似乎不起作用。

@Configuration
@EnableWebMvc
public class MvcConfig extends WebMvcConfigurerAdapter {

    @Override
    public void configureMessageConverters(List<HttpMessageConverter<?>> …
Run Code Online (Sandbox Code Playgroud)

spring spring-mvc jaxb2 spring-boot

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

如何使用 Asciidoctor 并排放置两个图像?

我正在尝试并排放置两个图像,并且理想情况下将整个块集中在 Asciidoctor 项目中。下面的代码适用于 HTML5 输出,但在渲染为 PDF 时会堆叠图像。

[.clearfix]
--
[.left]
.Title1
image::chapter3/images/foo.png[Foo, 450, scaledwidth="75%"]
[.left]
.Title2
image::chapter3/images/bar.png[Bar, 450, scaledwidth="75%"]
--
Run Code Online (Sandbox Code Playgroud)

是否可以 1) 在 PDF 中渲染并排图像并 2) 将图像块居中?如果可以指定它们之间的空间,那就太好了。

谢谢,

马特

asciidoc asciidoctor

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

获取源映射以使用Grunt,usemin,uglify和rev

我正在使用Grunt来优化我的AngularJS应用程序以进行生产.它使用useminPrepare和usemin从我的index.html页面读取要连接/缩小的文件.我正在尝试使用源图,因此我可以查看错误发生的位置.这是package.json的相关版本:

"grunt": "0.4.5",
"grunt-autoprefixer": "2.2.0",
"grunt-contrib-clean": "~0.5.0",
"grunt-contrib-concat": "~0.3.0",
"grunt-contrib-copy": "~0.5.0",
"grunt-contrib-cssmin": "~0.11.0",
"grunt-contrib-uglify": "~0.9.1",
"grunt-rev": "~0.1.0",
"grunt-usemin": "~2.0.2",
Run Code Online (Sandbox Code Playgroud)

这是我Gruntfile.js对相关任务的精简版:

'use strict';

// usemin custom step
var useminAutoprefixer = {
    name: 'autoprefixer',
    createConfig: require('grunt-usemin/lib/config/cssmin').createConfig // Reuse cssmins createConfig
};

module.exports = function (grunt) {
    require('load-grunt-tasks')(grunt);

    grunt.initConfig({
        pkg: grunt.file.readJSON('package.json'),
        clean: ["dist", '.tmp'],
        copy: {
            main: {
                files: [
                    {
                        expand: true,
                        src: ['**', '!css/**', '!*.js', '!node_modules/**', '!*.log', '!tests/**'],
                        dest: 'dist/'
                    }
                ]
            }
        },
        cssmin: {
            options: {
                root: …
Run Code Online (Sandbox Code Playgroud)

angularjs gruntjs source-maps grunt-usemin grunt-contrib-uglify

5
推荐指数
0
解决办法
668
查看次数

Spring Cloud Gateway 和 TokenRelay 过滤器

I\xe2\x80\x99m 尝试将 JHipster 从使用 Zuul 迁移到 Spring Cloud Gateway。JHipster 使用 Eureka 来查找路由,我相信我\xe2\x80\x99已经正确配置了 Spring Cloud Gateway 来查找路由并将访问令牌传播给它们。这里\xe2\x80\x99是我的配置:

\n\n
spring:\n  cloud:\n    gateway:\n      default-filters:\n        - TokenRelay\n      discovery:\n        locator:\n          enabled: true\n          lower-case-service-id: true\n          route-id-prefix: /services/\n      httpclient:\n        pool:\n          max-connections: 1000\n
Run Code Online (Sandbox Code Playgroud)\n\n

我\xe2\x80\x99m 遇到的问题是访问令牌没有Authorization向下游服务发送标头。

\n\n

以下是我的 Zuul 的配置方式application.yml

\n\n
zuul: # those values must be configured depending on the application specific needs\n  sensitive-headers: Cookie,Set-Cookie #see https://github.com/spring-cloud/spring-cloud-netflix/issues/3126\n  host:\n    max-total-connections: 1000\n    max-per-route-connections: 100\n  prefix: /services\n  semaphore:\n    max-semaphores: 500\n
Run Code Online (Sandbox Code Playgroud)\n\n

我创建了一个拉取请求来显示集成 Spring Cloud Gateway 后发生的更改。 …

spring-security spring-boot spring-security-oauth2 jhipster spring-cloud-gateway

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

我如何编写获取<script>标记内容的Java正则表达式?

我正在尝试将分析集成到我的GWT应用程序中.为此,我正在调用一个返回需要解析和评估的HTML字符串的服务.

我需要一个正则表达式来查找和抓取1)标签的主体或2)"src"属性的内容.我想用JavaScript来评估这两个.我很高兴假设如果存在"src"属性,则可以忽略正文.

谢谢,

马特

javascript java regex gwt

4
推荐指数
1
解决办法
3935
查看次数

如何在Heroku上强制使用HTTPS进行Spring Boot应用程序?

我尝试使用FORCE_HTTPS=trueSECURITY_REQUIRE_SSL=true作为配置变量,但都不起作用.我知道前者是由Cloud Foundry支持的,但我已经向Heroku确认他们不支持它.该SECURITY_REQUIRE_SSL属性由Spring Boot支持,但可能仅适用于基本身份验证?

ssl https heroku spring-boot

4
推荐指数
1
解决办法
1618
查看次数

如何获得包装器div的背景颜色以随高度扩展

我有一个div包含用户可以采取的一些操作.这个div就像一个你在桌子顶部看到的动作栏.它有3个元素:1)按钮组,2)一组选择和3)分页控件.

我有前两个元素向左浮动,最后一个元素向右浮动.当浏览器窗口足够宽以适应所有内容时,这种方法很有效并且一切都很好.但是,当屏幕分辨率较小或用户使浏览器太窄时,元素会换行.我喜欢的包装,但div不会扩展它的高度(和相关的背景颜色)以适应包装的元素.

如何使div扩展其高度以适应这些包装元素.

请参阅http://jsfiddle.net/mraible/bJQCL/上的问题.

css html5

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

如何在Angular 6/RxJS 6中处理来自http.get()的结果?

我正在尝试将应用程序从Angular 5升级到Angular 6,并且无法弄清楚如何使用RxJS的新语法.这是我正在尝试迁移的代码:

import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/operator/map';

@Injectable()
export class SearchService {
  constructor(private http: HttpClient) {}

  getAll() {
    return this.http.get('assets/data/people.json');
  }

  search(q: string): Observable<any> {
    if (!q || q === '*') {
      q = '';
    } else {
      q = q.toLowerCase();
    }
    return this.getAll().map((data: any) => {
      const results: any = [];
      data.map(item => {
        // check for item in localStorage
        if (localStorage['person' + …
Run Code Online (Sandbox Code Playgroud)

rxjs angular

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

如何在WSO2的API Publisher中为资源禁用OAuth2?

我创建了一个简单的API,我正在尝试使用WSO2的API Publisher(又名API Cloud)发布它.我已经完成了所有步骤,但似乎需要一个Authorization标头来访问我的端点.在较旧的文档中,它表示我可以在资源级别更改"Auth Type".

https://docs.wso2.com/display/AM160/API+Resources

但是,当前版本中似乎没有此选项.我尝试这样做,因此不需要Authorization标头.不幸的是,我仍然收到以下错误:

<ams:fault xmlns:ams="http://wso2.org/apimanager/security">
    <ams:code>900902</ams:code>
    <ams:message>Missing Credentials</ams:message>
    <ams:description>Required OAuth credentials not provided</ams:description>
</ams:fault>
Run Code Online (Sandbox Code Playgroud)

是否可以禁用我的API身份验证?在我的项目中,我现在不需要它.

wso2 wso2-api-manager wso2-cloud

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