2009/2/27 Chandra. <[email protected]>:
>
>
>> Konfigurasinya kurang.
>> Coba pastekan deklarasi bean authenticationProcessingFilter.
>
> Ka endy..
> ini konfigurasi aceginya :
> http://www.nabble.com/file/p22242153/applicationContext-acegi-security.xml
> applicationContext-acegi-security.xml
> waktu dideploy muncul error seperti ini di tomcatnya :
> http://www.nabble.com/file/p22242153/localhost.2009-02-27.log
> localhost.2009-02-27.log

Itu class namenya jangan dicampur2.
Yang net.sf.acegisecurity itu yang lama .. sekarang udah gak dipake lagi.
Coba ganti semua dengan org.acegisecurity.
Atau even better, gunakan namespace.

Di aplikasi saya, konfigurasinya lebih sedikit, seperti ini :

<http auto-config='true'>
        <intercept-url pattern="/admin/**" access="ROLE_ADMIN" />
        <intercept-url pattern="/payment/**" access="ROLE_ADMIN,ROLE_FINANCE" />
</http>

    <authentication-provider>
        <jdbc-user-service data-source-ref="dataSource"/>
    </authentication-provider>



>
> untuk HQLnya gimna yach?..

Maksudnya SQL?
Kalo HQL gak bisa dipake, harus implement userDetailService sendiri
kalo mau pakai Hibernate.

> apakah harus ditaruh di beannya ato gak yach?
> kira2 gini :
> <bean id="userDetailsService"
> class="org.acegisecurity.userdetails.jdbc.JdbcDaoImpl">
> <property name="dataSource">
> <ref bean="dataSource" />
> </property>
> <property name="usersByUsernameQuery">
> <value>
> SELECT Name, Password, Roles FROM User WHERE Name=?
> </value>
> </property>
> </bean>

Nama fieldnya harus dikasi alias, sesuai dengan harapan si Acegi.
contohnya seperti ini:
select Name as username, Password as password ... dsb

Trus, query username/password itu untuk otentikasi, beda dengan query
role untuk otorisasi.
Jadi, ada 2 query yang harus disetting, yaitu satu untuk ngecek
username/password dan satu lagi untuk query role.

Nama fieldnya tepatnya apa, coba lihat dokumentasinya.

>
> lalu pada saat user ingin login..
> untuk eksekusi HQL (sebagai validasi user) tersebut gimna yach?.
>
>
> Untuk struktur tabelnya, apakah bisa seperti ini :
> Tabel User (*Id, Name, Password, Roles)
> contoh isinya :
> 1 | Chandra| 123| ROLE_ADMIN, ROLE_USER, ROLE_ANONYMOUS
> 2 | Budi | 123| ROLE USER
>
> apakah bisa dibuat 1 tabel ato butuh 2 tabel (Relasi User 1 - N Roles)
> yach?..
>

Paling gampang sebetulnya ikut skemanya Acegi.
Ada kok skemanya di dokumentasinya.

Sehingga di konfigurasi kita cuma 3 baris seperti ini.

    <authentication-provider>
        <jdbc-user-service data-source-ref="dataSource"/>
    </authentication-provider>


-- 
Endy Muhardin
http://endy.artivisi.com
Y! : endymuhardin
-- life learn contribute --

Kirim email ke