Hi Les;
Yes i 've already defined the filter, my complete web.xml file :

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app
      PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
      "http://java.sun.com/dtd/web-app_2_3.dtd";>

<web-app>
    <display-name>Dodod</display-name>
    <filter>
        <filter-name>DododUrl</filter-name>

 <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class>
        <init-param>
            <param-name>applicationClassName</param-name>
            <param-value>com.dodod.web.DododUygulamasi</param-value>
        </init-param>
    </filter>

    <filter>
        <filter-name>KiFilter</filter-name>
        <filter-class>org.apache.ki.web.servlet.KiFilter</filter-class>
        <init-param>
            <param-name>config</param-name>
            <param-value>

                # The KiFilter configuration is very powerful and flexible,
while still remaining succinct.
                # Please read the comprehensive example, with full comments
and explanations, in the JavaDoc:
                #
                #
http://ki.apache.org/api/org/apache/ki/web/servlet/KiFilter.html

                [main]

                myRealm  = com.dodod.security.MyRealm

                [filters]
                ki.loginUrl = /login
                authc.successUrl = /

                [urls]
                # The /login.jsp is not restricted to authenticated users
(otherwise no one could log in!), but
                # the 'authc' filter must still be specified for it so it
can process that url's
                # login submissions. It is 'smart' enough to allow those
requests through as specified by the
                # ki.loginUrl above.
                /login = authcBasic


            </param-value>
        </init-param>
    </filter>



    <filter-mapping>
        <filter-name>DodoUrl</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

   <filter-mapping>
        <filter-name>KiFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>


</web-app>






The same exception occurs :

Caused by: java.lang.IllegalStateException: No SecurityManager accessible to
this method, either bound to the org.apache.ki.util.ThreadContext or as a vm
static singleton.  See the org.apache.ki.SecurityUtils.getSubject() method
JavaDoc for an explanation of expected environment configuration.
        at org.apache.ki.SecurityUtils.getSubject(SecurityUtils.java:79)

jar files that i am using

ki-core-1.0-incubating-SNAPSHOT.jar
ki-web-1.0-incubating-SNAPSHOT.jar
commons-logging-1.0.3.jar
commons-beanutils-1.7.0.jar

Thanks.

2009/5/13 Les Hazlewood <[email protected]>

> Hi Altuğ,
>
> You don't need the two lines defining the SecurityManager - that is done by
> default.
>
> Other than that, this looks ok.  Did you ensure that you set up a filter
> mapping to ensure the Filter intercepts that url (or set of urls)?
>
> For example:
>
> <filter-mapping>
>     <filter-name>KiFilter</filter-name>
>     <url-pattern>/*</url-pattern>
> </filter-mapping>
>
> Cheers,
>
> Les
>
>
> On Wed, May 13, 2009 at 7:09 AM, Altuğ B. Altıntaş <[email protected]>wrote:
>
>> Hi all;
>> I am using wicket and i need a security framework at that point  Apache ki
>> seems ok to me.
>>
>> First i am getting this error message :
>>
>> No SecurityManager accessible to this method, either bound to the
>> org.apache.ki.util.ThreadContext or as a vm static singleton.  See the
>> org.apache.ki.SecurityUtils.getSubject() method JavaDoc for an explanation
>> of expected environment configuration.
>>
>> When i do this :
>>
>>  UsernamePasswordToken token = new UsernamePasswordToken(email ,
>> password);
>>   token.setRememberMe(true);
>>
>>   Subject currentUser = SecurityUtils.getSubject();
>>   try {
>>             currentUser.login(token); // throws above exception
>>   catch(....) {
>>    .....
>>    }
>>
>> Here is my web.xml
>>
>>  <filter>
>>         <filter-name>KiFilter</filter-name>
>>         <filter-class>org.apache.ki.web.servlet.KiFilter</filter-class>
>>         <init-param>
>>             <param-name>config</param-name>
>>             <param-value>
>>                 securityManager =
>> org.apache.ki.web.DefaultWebSecurityManager
>>
>>                 securityManager.sessionMode = http
>>                 # The KiFilter configuration is very powerful and
>> flexible, while still remaining succinct.
>>                 # Please read the comprehensive example, with full
>> comments and explanations, in the JavaDoc:
>>                 #
>>                 #
>> http://ki.apache.org/api/org/apache/ki/web/servlet/KiFilter.html
>>
>>                 [main]
>>
>>                 myRealm  = com.dodod.security.MyRealm
>>
>>                 [filters]
>>                 ki.loginUrl = /login
>>                 authc.successUrl = /
>>
>>                 [urls]
>>                 # The /login.jsp is not restricted to authenticated users
>> (otherwise no one could log in!), but
>>                 # the 'authc' filter must still be specified for it so it
>> can process that url's
>>                 # login submissions. It is 'smart' enough to allow those
>> requests through as specified by the
>>                 # ki.loginUrl above.
>>                 /login= authcBasic
>>
>>
>>             </param-value>
>>         </init-param>
>>     </filter>
>>
>> I  wrote my own com.dodod.security.MyRealm class which
>> extends AuthorizingRealm and overrides doGetAuthenticationInfo
>> and doGetAuthorizationInfo methods.
>>
>> What is wrong ?
>>
>> Thanks.
>>
>> --
>> Altuğ.
>>
>
>


-- 
Altuğ.

Reply via email to