小编Dan*_*nev的帖子

仅具有客户端凭据的Spring安全端点(基本)

我有oauth2授权服务器和一个自定义端点(手动注销特定用户作为管理员)我希望这个端点使用其他客户端凭据(客户端ID和秘密作为基本编码头部值)进行保护,类似于/ oauth/check_token.

只能从具有特定范围的资源服务器调用此端点.

  1. 我需要检查客户端是否经过身份验证.
  2. 我希望能够在控制器的方法中添加@PreAuthorize("#oauth2.hasScope('TEST_SCOPE')").

我找不到任何文档或方法来使用Spring的机制进行客户端身份验证检查.

编辑1

我使用java配置而不是xml

authentication spring spring-security spring-boot spring-security-oauth2

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

当未定义属性时,Angularjs Filter无法正常工作

我有以下设置

  $scope.array = 
    [
      {propertyA: "test", 
       propertyB: {
                   propertyC: [true, true, false]
                  }
      },
      {propertyA: "test2"},
      {propertyA: "test3"}
    ]
Run Code Online (Sandbox Code Playgroud)

然后

<div ng-repeat="item in array| filter :{propertyB: ''} :true">
     {{item.propertyA}}
</div>
Run Code Online (Sandbox Code Playgroud)

所以问题是:

  1. 此设置不显示任何内容

  2. 如果我换到|filter :{propertyB: '!!'} :true它不显示任何东西

  3. 如果我改变|filter :{propertyB: undefined} :true它显示一切

我无法弄明白.

目标:我想显示具有propertyB未定义的项目,而在其他情况下则显示相反的项目.

编辑1:如果我迭代这个数组与angular.equals(item.propertyB, undefined)我得到false, true, true

编辑2:jsfiddle UPDATED

编辑3:我已经更新了问题

javascript angularjs angularjs-filter

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

调用razor函数的MVC 4按钮onClick

我有MVC 4应用程序.情况如下:
1.模型HashKey - 包含1个字符串键
2. Model ModelObjectA - 我要传输的对象.
3. A类 - 根据请求生成唯一键,并将其与给定的ModelObjectA一起放入TempData中,并返回此唯一键.
4. Controller ControllerModelObjectA - 用作纯控制器.
5.查看ShowAllModelObjectA - 查看页面以显示来自控制器的集合.

这是如何工作的.我已请求导航到ShowAllModelObjectA.控制器使用要传输的对象调用类A,并将唯一键发送到ShowAllModelObjectA.视图调用方法来获取(而不是HttpGET)与来自控制器的接收密钥相对应的对象.接收到该对象集合,并在@foreach循环中反汇编对象并将它们放入表中.随着表中的对象也推出了3个按钮,它们代表不同的功能(查看详细信息,编辑,删除)到相应的对象.

问题:在每个对象的按钮上,我必须使用@functions来调用ClassA并发送对象本身,但仅限于点击而不是for循环.

这是一些代码(我已更改名称:))

@functions{
    public string ButtonClicked(ModelObjectA object)
    {
        System.Diagnostics.Debug.WriteLine("in");// to check when the method is called
        return "dae";
    }
}

The foreach loop:

 <table>
            @foreach (ModelObjectA  Object in ModelObjectACollection)
            {
            <tr>
                <td>
                    @Html.DisplayFor(modelItem => Object.Name)
                </td>
                <td>
                    @Html.DisplayFor(modelItem => Object.Email)
                </td>
                <td>
                    <button type="button" id="details" value="@Object" onclick="hello(value);">Details</button>
                    <button type="button" value="@Object">Edit</button>
                    <button type="button" value="@Object">Delete</button>
                </td>
            </tr>
            } …
Run Code Online (Sandbox Code Playgroud)

javascript asp.net-mvc razor

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

Spring HATEOAS ControllerLinkBuilder方法显着增加响应时间

设置:所以我有一个问题的REST API用Java编写的,使用spring-bootspring-hates添加链接到资源(超媒体驱动的RESTful Web服务).我拥有的一切都是标准的,没有进行任何额外的设置或更改

问题

  1. 案例:没有关于资源的链接 - Chrome TTFB avg.(10次运行)400个项目,1000个项目
  2. 案例:资源上的1个自我参考链接 - Chrome TTFB avg.(10次运行)1000个项目1500毫秒

我正在使用这个官方指南

这个问题

为什么只添加1个链接到我的资源,为处理请求增加了1秒.每个资源需要大约5-7个链接,每个资源都有其他嵌入的链接?

为9000总项与每个项目只1链路(包括嵌套的),我必须等待30秒的响应和无链接〜400毫秒.

PS附加代码无关紧要,因为我只是在教程中添加了一个能够显着影响性能的代码.

编辑1

正如建议我从我的TextItem构造函数中添加示例代码

add(linkTo(methodOn(TestController.class).getTestItems()).withRel("testLink"));
Run Code Online (Sandbox Code Playgroud)

编辑2

所以@Mathias Dpunkt提出的以下示例非常完美

private Method method = ReflectionUtils.findMethod(TestController.class, "getOne", Integer.class);

@Override
public Resource<Item> process(Resource<Item> resource) {
  resource.add(linkTo(method, resource.getContent().getId()).withSelfRel());
  return resource;
}
Run Code Online (Sandbox Code Playgroud)

新问题

控制器:

@RestController
@RequestMapping("items")
@RequiredArgsConstructor(onConstructor = @__(@Autowired))
public class TestController {

    private final ItemResourceProcessor resourceProcessor;

    @RequestMapping(method = GET)
    public ResponseEntity<List<Resource<Item>>> getAll() {
        List<Resource<Item>> items = …
Run Code Online (Sandbox Code Playgroud)

java spring spring-hateoas

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

如何在表单提交时更改Html.Beginform()的属性

到目前为止我有这个:

 <% foreach (Object object in Collection)
 {
     u<% using (Html.BeginForm("ActionName", "Controller", new { FU = "bar" }, FormMethod.Post, new { ID = "MyID"}))
      {%>
        <input type="submit" value="Submit" />
      <%}
 } %>

 $('#MyID').submit(function() {
     var url = Url.Action("ActionName", "ControllerName");
     var fu = "newValueOfFU"; // New value for FU
     $('#MyID').prop('action', url + "?FU=" + fu);
 });
Run Code Online (Sandbox Code Playgroud)

我想用jQuery中的值更改FU的值

javascript asp.net-mvc jquery

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

如何"部署"asp.net MVC 4到Microsoft Server 2012 IIS7

我有asp.net MVC 4应用程序,我想"发送"到Microsoft Server 2012 IIS7,因此该网站可以从互联网上访问.怎么做?

asp.net iis-7 asp.net-mvc-4 windows-server-2012

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