小编Rah*_*eel的帖子

@PreAuthorize注释不起作用的弹簧安全性

我发现了许多类似的问题但没有一个能解决我的问题.我的问题是ROLE_USER可以访问的功能ROLE_ADMIN

我的spring-security.xml代码如下.

<beans xmlns="http://www.springframework.org/schema/beans"
   xmlns:s="http://www.springframework.org/schema/security"
   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.0.xsd">   

<s:http auto-config="true" use-expressions="true">
    <s:intercept-url pattern="/index.jsp" access="permitAll" />
    <s:intercept-url pattern="/welcome*" access="hasRole('ROLE_USER')" />
    <s:intercept-url pattern="/helloadmin*" access="hasRole('ROLE_ADMIN')" />

    <s:form-login login-page="/login" default-target-url="/welcome"
        authentication-failure-url="/loginfailed" />
    <s:logout logout-success-url="/logout" />
</s:http>

<s:authentication-manager>
  <s:authentication-provider>
    <s:user-service>
        <s:user name="asif" password="123456" authorities="ROLE_USER,ROLE_ADMIN" />
        <s:user name="raheel" password="123456" authorities="ROLE_USER" />          
    </s:user-service>
  </s:authentication-provider>
</s:authentication-manager>
Run Code Online (Sandbox Code Playgroud)

当我添加<s:global-method-security pre-post-annotations="enabled"/> 我的代码显示资源未找到错误,当我删除我的代码执行成功但ROLE_USER可以访问ROLE_ADMIN功能

我的控制器功能是.

@PreAuthorize("hasRole('ROLE_ADMIN')")
@RequestMapping(value="/delete", method = RequestMethod.GET)
public String DeleteAll(ModelMap model, Principal principal ) {

    org.springframework.security.core.userdetails.User activeUser = (org.springframework.security.core.userdetails.User)SecurityContextHolder.getContext().getAuthentication().getPrincipal();
    System.out.println("Active …
Run Code Online (Sandbox Code Playgroud)

java spring spring-security

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

使用样式Theme.Sherlock时找不到资源

我正在尝试使用Sherlock.在我的项目min sdk 2.2和max api 15时,我所做的步骤将abc库带到我的项目中.问题是我无法设置使用它的样式.错误

Error retrieving parent for item: No resource found that matches the given name '@style/  Theme.Sherlock'.
Run Code Online (Sandbox Code Playgroud)

我的xml代码:

<resources>

    <style name="AppTheme" parent="@style/Theme.Sherlock" />

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

我的清单文件:

  <application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme">
Run Code Online (Sandbox Code Playgroud)

我使用的java是1.6.我正在运行4.0.3 avd.我知道你会给我一个网站的链接,但我找不到任何有用的东西.我正在使用eclipse和Sherlock 4.0.3.如果你能给我解决方法如何用指令做简单的方法.

更新: 我不知道为什么,但是当我在我的项目中导入库abc它看起来没问题但是当我点击apply并退回设置后返回库时,我看到红色x.

谢谢.

android actionbarsherlock

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

使用xpath在Java中使用名称空间解析XML

我试图在java中解析SOAP请求但是代码没有返回任何节点,这里的代码可以让任何人发现错误

        String xml="<soapenv:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:ser=\"http://services.web.post.list.com\"><soapenv:Header><authInfo xsi:type=\"soap:authentication\" xmlns:soap=\"http://list.com/services/SoapRequestProcessor\"><!--You may enter the following 2 items in any order--><username xsi:type=\"xsd:string\">dfasf@google.com</username><password xsi:type=\"xsd:string\">PfasdfRem91</password></authInfo></soapenv:Header></soapenv:Envelope>"; 
    System.out.println(xml);
    DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance();
    domFactory.setNamespaceAware(true);
    DocumentBuilder builder = domFactory.newDocumentBuilder();
    Document doc = builder.parse(new InputSource(new StringReader(xml)));
    XPath xpath = XPathFactory.newInstance().newXPath();
    // XPath Query for showing all nodes value

    try
    {
    XPathExpression expr = xpath.compile("/soapenv:Envelope/soapenv:Header/authInfo/password");
    Object result = expr.evaluate(doc, XPathConstants.NODESET);
    NodeList nodes = (NodeList) result;
    System.out.println("Got " + nodes.getLength() + " nodes");
//    System.out.println(nodes.item(0).getNodeValue());
    }
    catch(Exception E)
    {
        System.out.println(E);
    }
Run Code Online (Sandbox Code Playgroud)

java xml xpath soap

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

我们怎样才能在intellij idea项目中找到孤儿罐

我已经在Eclipse中找到了有用的工具来实现这一点,比如Classpath Helper,但是在intellij中是否有任何插件或方法可以找到未使用的jar文件?

java jar intellij-idea

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

在Eclipse中更改类路径

我最近卸载jre7并安装了jre6,因为我的项目需要它.但现在我的程序显示类路径错误.如何在Eclipse中更改类路径?

错误是:

归档:C:/ Program Files/Java/jdk1.7.0_05/lib/tools.jar由类路径引用,不存在.

java eclipse classpath

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

java中的布尔(Object)getters

让我说我有一个类foo,我有一个Boolean(不boolean)变量bar:

class foo {
    Boolean bar;

    Boolean isBar(){
        return bar;
    }

    boolean isBar(){
        return bar.booleanValue();
    }
}
Run Code Online (Sandbox Code Playgroud)

上述哪种方法在Java中是正确的方法.

我知道两者都有效,但我想知道Java中关于这个问题的编码约定是什么?

java coding-style

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

如何防止短信进入Android Kitkat的收件箱

在以前版本的android中,我们可以使用以下代码阻止SMS:

 <receiver android:name=".broadcastreceivers.OnSMSReceived"
                  android:exported="true" android:permission="android.permission.BROADCAST_SMS">

            <intent-filter android:priority="1000">
                <action android:name="android.provider.Telephony.SMS_RECEIVED"/>
            </intent-filter>
        </receiver>
Run Code Online (Sandbox Code Playgroud)

在广播接收器中,abortBroadcast()函数阻止SMS进入收件箱.但是这种方法在kitkat中不起作用,因为来自Kitkat的SMS只会被默认的SMS应用程序接收.有没有解决方法在kitkat中创建SMS拦截器应用程序?

android android-broadcast

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

Ruby中有没有办法使用public_methods设置类成员的值

我想使用public_methodslist 设置类的成员值.但是在下面给出的代码中,"className.member"将不起作用,因为".member"不是ClassName类的成员.

在ruby中有没有办法以这种方式设置成员的价值?

代码如下:

  membersArray = className.public_methods
  membersArray.each {|x|
      member = x.to_s
      className.member = "some value"
    end

  }
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails

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