добавив безопасность встроенному причалу - PullRequest
1 голос
/ 20 января 2012

У меня проблема с настройкой BASIC-auth в Jetty вот мой web.xml

<security-constraint>
    <web-resource-collection>
        <web-resource-name>resources</web-resource-name>
        <url-pattern>/resources/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
        <role-name>user</role-name>
    </auth-constraint>
</security-constraint>
<login-config>
    <auth-method>BASIC</auth-method>
    <realm-name>MyRealm</realm-name>
</login-config>
<security-role>
    <role-name>user</role-name>
</security-role>

и вот мой java-код, где я пытаюсь добавить LoginService

HashLoginService myrealm = new HashLoginService("MyRealm");
    myrealm.setConfig("src/main/resources/jetty-realm.properties");
    root.getSecurityHandler().setLoginService(myrealm);

У моего файла jetty-realm.properties есть следующий пользователь

user: Lag976JGQdeosfQM,user

Я могу установить соединение, но не могу аутентифицироваться, и я застрял в этом надолго, так что, кто бы мне ни помог, получит бесплатное цифровое пиво! ;)

1 Ответ

5 голосов
/ 23 января 2012

Хорошо, так что я узнал, что я не делал, Вы должны запустить службу LoginService, прежде чем сможете ее использовать, поэтому я изменил свой код Java на

HashLoginService myrealm = new HashLoginService("MyRealm");

myrealm.setConfig("src/main/resources/jetty-realm.properties");
myrealm.start();

root.getSecurityHandler().setLoginService(myrealm);
...