Spring için Acegi Güvenlik Sistemi. Hazırlayan : Akif Burak Tosun Hacettepe Universitesi İletişim: thunder_burak@hotmail.
|
|
- Şebnem Kurt
- 8 yıl önce
- İzleme sayısı:
Transkript
1 Spring için Acegi Güvenlik Sistemi Hazırlayan : Akif Burak Tosun Hacettepe Universitesi İletişim: thunder_burak@hotmail.com 1
2 İçindekiler: Önsöz Bölüm 1: Güvenlik 1.1. Giriş 1.2. Güncel Durum 1.3. Üst Düzeyli Tasarım Anahtar Bileşenler Desteklenen Güvenli Nesneler Kurulum Nitelikleri 1.4. İstem Bağlamları Tarihsel Gelişim SecurityContext 1.5. Kimlik Denetimi (Authentication) Kimlik Denetim İstemleri 1.6. Yetki Protokolü (Authorization) Verilen Yetkiler Erişim Kararları Yönetimi Bölüm 2 : Neden ve Nasıl Acegi? 2.1. J2EE de CMA Temel Kimlik Denetimi Form Tabanlı Kimlik Denetimi 2.2. Tomcat Alanları 2.3. CMA daki Problemler 2.4. Çözüm: Acegi Güvenlik 2.5. Acegi Güvenlik Ayarları, web.xml ayarları appcontext~security.xml ayarları 2
3 Temel Kimlik Denetimi Güvenli HTTP İstemi Form Tabanlı Kimlik Denetimi KimlikDenetim Sağlayıcıları (Authentication Providers) Parola Şifreleme JDBC Sağlayıcısı SQL Uyarlama Metotları Rollerle Güvelik Altına Alma 2.6. Diğer Özellikler 2.7. J2EE vs. Acegi Güvenlik Sistemi 3
4 Spring için Acegi Güvenlik Sistemi (AGS) Önsöz Bu doküman, Spring çatısının getirdiği kimlik denetimi ve yetki protokolünü sağlayan sınıfları içeren Acegi Güvenlik Sistemi(AGS) ne referans veren rehberlik sağlamaktadır. Bölüm 1 : Güvenlik 1.1.Giriş Acegi Güvenlik Sistemi, Spring destekli projeler için kimlik denetimi ve yetki protokolünü popüler web container (kap) lar aracılığıyla sağlayan sistemdir. Bu güvenlik mimarisi The Spring Way gelişiminin üstüne kurulmuş olup ; bağlamlarını, kesiştiricileri ve arabirim sürücülerini programlamayı kapsamaktadır. Sonuç olarak Spring için Acegi Güvenlik Sistemi Spring tabanlı yazılımların güvenliği için aranan ve kompleks mimarilere kolayca uyum sağlayabilen bir sistemdir. Güvenlik iki belirgin işlemi içermektedir, kimlik denetimi (authentication) ve yetki protokolü (authorization). Kimlik denetiminin yaptığı, ziyaretçinin iddia edilen kişi olup olmadığını çözümlemektir. Öte yandan yetki protokolünün ilgilendiği ise kimlik denetimi yapılmış bir ziyaretçinin yapmakta olduğu işlemi yapıp yapamayacağının 4
5 Spring için AGS de başından sonuna kadar kimlik denetimi yapılacak olan kullanıcı, sistem veya gereç temel olarak ele alınır. Bu güvenlik mimarisinde roller ya da gruplar diye- önceki uygulamalardan alışkın olduğunuz- bir kavram bulunmamasına karşın eşdeğer işlevsellik Acegi Güvenlik tarafından sağlanmıştır. 1.2.Güncel Durum Spring için Acegi Güvenlik Sistemi, Spring Topluluğu tarafından yaygın olarak kullanılmaktadır. Uygulama Programı Arabirimleri (API) durağan olarak ele alınır ve sadece önemsenmeyecek kadar küçük değişiklikler beklenir. Daha önce de söylenildiği gibi, diğer projelerde de yapılan geriye uyumluluk ve gelişim arasındaki dengeyi tutturmak zorundayız. Yürürlülükteki versiyon da, Acegi Güvenlik Apache Taşınabilir Runtime Projesi nin uyarlanan kılavuzunu kullanmaktadır. Bu kılavuza şu adresten ulaşabilirsiniz : Yayınlanacak versiyon için öncelikli küçük geliştirmeler her birinin ekstra işlevselliği olmasına rağmen projenin temel arayüzleri ve sınıfları değiştirmeyecektir - şimdiden planlandı. Bu sebeple Spring için Acegi Güvenlik Sistemi nin kullanıcıları şu anki versiyonu gelecekte de rahatlıkla kullanabileceklerdir Üst Düzeyli Tasarım Anahtar Bileşenler Çoğu şirket uygulamalarının dört temel güvenlik gereksinimi vardır. İlk olarak bir tekil kişiyi tanımlayabilmeleri gerekir. İkincil olarak web istemlerini güvenli hale getirebilmeleri gerekir. Üç, şirket uygulamaları servis katmanı metotlarının güvenliğini sağlayabilmelidir. Son olarak, çok nadir de olsa şirket 5
6 uygulamaları etki alanındaki örnek nesnelerin de güvenliğini sağlamalıdır. Acegi Güvenlik, bu dört temel şirket uygulaması gereksinimlerini ortak olarak içine alan geniş bir çatıda sağlayabilmektedir. Spring için AGS esasen 8 temel işlevsel kısımdan oluşmaktadır: - Authentication (kimlik denetim) nesnesi: Bu nesne tekil kişiyi, ve bu kişinin otoriteler tarafında verilen güven belgesini ve kimlik belgesini içerir. Ayrıca bu nesne kimlik denetimine ilişkin (kaynağın TCP/IP adresi gibi) ek bilgiler de tutabilir. - ContextHolder (bağlamı tutan) : Authentication nesnesini bir ThreadLocal de (yükümlü nesne) tutar. - AuthenticationManager : ContextHolder aracılığıyla sunulan Authentication nesnesini denetler. - AccessDecisionManager : Verilen bir işlemi onaylar. - RunAsManager : Verilen bir iş işletilirken isteğe bağlı olarak Authentication nesnesinin yerini değiştirir. - Güvenli Nesne kesiştirici (interceptor) : İşletimin ele alınması ve verilen bir işin işletilmesinden sonra ; kimlik denetimini, yetki protokolünü ve işletme yenilenmesini koordine eder. - AfterInvocationManager : Güvenli Nesne kesiştirici den dönen bir nesneyi düzenleyebilir; bu işlemi, tekil şahısın erişim yetkisi olmayan Collection larını silerek yapar. - Erişim Denetim Listesi yönetim paketi : Erişim denetim listelerinin etki alanındaki örnek nesnelere uygun olup olmadığını denetler. 6
7 Güvenli Nesne kesiştirici, Acegi Güvenlik in çoğu anahtar sınıfını işletir ve aynı zamanda çatının (framework) en önemli özniteliklerini dağıtır. Bunun önemini belirtmek için Şekil-1 de anahtar ilişkilerini ve AbstractSecurityInterceptor ın somut uygulamaları belirtilmiştir. Şekil 1: Güvenli Nesne Modeli Her Güvenli nesne kesiştiricisi (gelecekte güvenlik kesiştiricisi olarak kullanılacaktır) belirli bir güvenli nesne türüyle birlikte çalışır. Peki güvenli nesne nedir? Güvenli nesneler üzerilerine güvenlik uygulanabilen nesnelerdir. Bir güvenli nesne bazı geri çağrım biçimlerini sağlamalıdır böylece güvenlik kesiştiricisi yapması gerekenleri saydam bir şekilde gerçekleştirir ve zamanı geldiğinde istenilen işlemi yapması için ilgili nesneyi geri çağırır. Eğer güvenli nesneler yerel olarak geri çağırma yaklaşımını sağlamıyorsa bir sargı (wrapper) yazılması gerekir ve bu sayede işlem gerçekleştirilir. 7
8 Her güvenli nesne net.sf.acegisecurity.intercept altında kendi paketine sahiptir. Diğer bütün paketler güvenli nesneden bağımsızdır. Böylece sunulan her tür güvenli nesneyi destekler. Sadece durdurma ve yetkilendirme istemleri için tamamen yeni bir yol tasarlamak isteyen yazılımcılar güvenli nesneleri direkt olarak kullanmalıdır. Örneğin ; MethodInvocations nesnesini kullanmayan mesajlaşma sistemine yapılan çağrıları güvenli kılmak için yeni bir güvenli nesne oluşturulabilir. Çoğu Spring uygulaması günümüzde desteklenen üç temel güvenli nesne türünü (AOP Alliance MethodInvocation, AspectJ JoinPoint ve web istemi FilterInterceptor) şeffaflıkla kullanmaktadır. Yukarıda belirtilen Acegi Güvenlik için gerekli olan sekiz anahtar kısım ın önemli olanları bu dokümanda ele alınacaktır Desteklenen Güvenli Nesneler Şekil-1 in tabanında da görüldüğü gibi Spring için Acegi Güvenlik Sistemi günümüzde üç güvenli nesneyi desteklemektedir. İlki AOP Alliance MethodInvocation ı içermektedir. Bu Spring bean lerini korumak için var olan güvenli nesne türüdür. Yazılım geliştiriciler genellikle bu güvenli nesne türünü şirketsel nesneleri korumak için kullanırlar. Standart bir Spring-tabanlı bean i MethodInvocation gibi geçerli kılmak için, bean basitçe bir ProxyFactoryBean veya BeanNameAutoProxyCreator veya DefaultAdvisorAutoProxyCreator tarafından yayınlanır. Çoğu Spring geliştiricisi kendi işlembilgilerinde veya diğer Spring alanlarında bu duruma alışkın hale gelmiştir. İkinci tür AspectJ JoinPoint ı içerir. AspectJ; genellikle Spring bean kabının dışında yönetilmesiyle birlikte, etki alanındaki örnek nesnelerin 8
9 güvenliğini sağlamada tek yol olarak kullanılır. AspectJ kullanarak new Person(); gibi standart mimariler kullanılabilir ve tüm güvenlik Acegi Güvenlik tarafından sağlanabilir. Tekil durumu yaratıp, uygun kimlik denetim yöneticisine, erişim kararları yöneticisine ve ilgili diğer alanlara ileten AspectJSecurityInterceptor ise hala Spring tarafından yönetilmektedir. Üçüncü ve son tür FilterInvocation dır. Spring için Acegi Güvenli Sistemi nin içerdiği bir nesnedir. İçerdeki bir süzgeç tarafından yaratılır ve HTTP ServletRequest, ServletResponse ve FilterChain ı sarar. FilterInvocation, HTTP kaynaklarının korunmasını sağlar. Yazılım geliştiriciler genellikle bu sistemin hangi mekaniklerle çalıştığını anlamak zorunda değildir çünkü sadece güvenlik süzgeçlerini web.xml e eklerler ve geri kalan işi güvenlik sistemi halleder Kurulum nitelikleri Her güvenli nesne sonsuz sayıda bireysel istemi temsil edebilir. Örneğin, bir MethodInvocation herhangi bir metodu herhangi argümanlarla çağrılmasını temsil edebilir, aynı zamanda FilterInvocation da herhangi bir HTTP URL sini temsil edebilir. Spring için Acegi Güvenlik Sistemi, olası her istem için uygulanan kurulumları kaydetmek zorundadır. BankManager.getBalance(int accountnumber) istemi için gerekli güvenlik kurulumu ile, BankManager.approveLoan(int applicationnumber) istemi için gerekli güvenlik kurulumundan çok farklı olmalıdır. Daha basit ele alırsak ; sayfasına yapılan bir istem için gerekli güvenlik kurulumuyla, sayfasına yapılan bir istem için gerekli güvenlik kurulumu birbirinden farklı olmalıdır. 9
10 Farklı istemlerle alakalı çeşitli güvenlik kurulumlarını saklamak için kurulum niteliği kullanılır. Gerçekleştirim katmanında bir kurulum niteliği ConfigAttribute arayüzü tarafından simgelenir. Alakalı istem ile ilişkilendirilmiş ConfigAttribute lar yığını bir ConfigAttributeDefinition içerisinde tutulur. Bu somut sınıf sadece ConfigAttribute ları tutar bunun dışında başka bir iş yapmaz. Güvenlik kesiştiricisine bir istem geldiğinde, hangi güvenlik kurulumunun uygulanacağını belirlemek zorundadır. Başka bir deyişle, isteme uygulanan ConfigAttributeDefinition ı bulmak zorundadır. Bu karar ObjectDefinitionSource arayüzü tarafından ele alınır. Bu arayüz tarafından sağlanan ana metot public ConfigAttributeDefinition getattributes(object object) metodudur. Buradaki Object güvenli nesnedir. Güvenli nesne geri çağrıldığında isteme dair detayları taşır böylece ObjectDefinitionSource gerçekleştirimi kendisi için gerekli olan detayları ConfigAttributeDefinition içeriğine bakarak bulabilir İstem Bağlamları Tarihsel Gelişim sürümünden önceki sürümlerde oturumlar arası bağlamları saklamak için Acegi Güvenlik bir ContextHolder kullanıyordu. Context sınıfına ilişkin bir alt sınıf olan SecureContext tanımlanıyordu ki bu Authentication nesnesini taşımak için bir arayüzü oluşturuyordu. Bu kavram Spring geliştiricileri tarafından uzun tartışmalar sonucu kararlılığı sağlamak adına sürümünde kaldırılmıştır. Tartışma örneğini incelemek için bağlantıyı izlemeniz yeterlidir: ork.devel/
11 SecurityContext (SecureContext) SecurityContext leri saklamak için Acegi Güvenlik Sistemi SecurityContextHolder kullanır. SecurityContext nesnesi bir tek Authentication get/set metotları içerir Kimlik Denetimi (Authentication) Kimlik Denetim İstemleri İstemci kendi güvenlik kimliğini Acegi Güvenliğe sunmak için kodunda bir yola ihtiyaç duyar. Bu Authentication arayüzünün görevidir. Authentication arayüzü üç önemli nesneyi tutar : tekil kişi (istemcinin kimliği), kimlik belgesi (istemcinin kimliğinin kanıtı, örneğin parola) ve bu tekil kişiye verilen yetkiler. Tekil kişiye verilen yetkiler AuthenticationManager tarafından yerleştirilirken, Tekil kişi ve bu kişiye ait kimlik belgesi istemci kodu tarafından yerleştirilir. 11
12 Şekil 2: Anahtar Kimlik Denetim Mimarisi Şekil-2 de görüldüğü üzere Spring için Acegi Güvenlik Sistemi birkaç somut Authetication gerçekleştirimi içerir:! UsernamePasswordAuthenticationToken, kullanıcı adı ve parolanın sırasıyla tekil kişi ve kimlik belgesi olarak kabul edilmesini sağlar. Bu ayrıca HTTP Oturum Kimlik Denetim sistemi tarafından yaratılır.! TestingAuthenticationToken, kimlik denetimi yapılmış bir nesnenin kendisine ilişkilendirilmiş AthenticationProvider olarak kabul edilmesi ve bunun test edilmesini kolaylaştırır. Bir tekil kişiye yüklenen yetkiler GrantedAuthority arayüzü tarafından belirtilir. Bu arayüz yetki protokolü (authorization) bölümünde ele alınır. 12
13 1.6. Yetki Protokolü (Authorization) Verilen Yetkiler Kimlik denetimi bölümünde de anlatıldığı gibi tüm Athentication gerçekleştirimlerinde GrantedAuthority nesnelerini saklayacak bir diziye ihtiyaç duyulur. Bu nesneler tekil kişiye verilmiş yetkileri betimlemeye yarar. GrantedAuthority nesneleri Athentication içerisine AthenticationManager tarafından yerleştirilir, daha sonra da AccessDecisionManager tarafından yetki kontrolü yapılırken okunur. GrantedAuthority tek bir metodu olan bir arayüzdür: public String getauthority(); Bu metot AccessDecisionManager a, GrantedAuthority nin kesin bir String betimlemesini elde etmesi kolaylığını sağlar. Böylelikle bu String tabanlı GrantedAuthority nesnesinin betimlemeleri herhangi bir AccessDecisionManager tarafından kolaylıkla okunabilir. Eğer bir GrantedAuthority nesnesi String olarak kesin bir betimlemeye dönüştürülemiyorsa kompleks olarak düşünülür ve getauthority() null döndürür. Bu kompleks durumu engellemek için Acegi Güvenlik Sisteminde tek bir kesin GrantedAuthority String betimlemesine izin verir. Bu sayede kullanıcı tarafından belirlenmiş tüm String betimlemeleri bir GrantedAuthority nesnesine dönüştürülebilir. 13
14 Erişim Kararları Yönetimi AccessDecisionManager son erişim kontrol kararlarını almadan sorumludur. Bu arayüz üç metot içerir: public void decide(authentication authentication, Object object, ConfigAttributeDefinition config) throws AccessDeniedException; public boolean supports(configattribute attribute); public boolean supports(class clazz); İlk metottan da görülebileceği gibi yetkilendirme kararını alırken tüm ilgili veriler AccessDecisionManager ın elinden geçer. Buradaki güvenli nesne geçişi, denetlenecek asıl güvenli nesnenin argümanlarını geçerli kılar. Örneğin, diyelim ki güvenli nesnemiz MethodInvocation. Herhangi bir Customer argümanı için MethodInvocation ı sorgulamak daha kolay olacaktır, sonra tekil kişinin Customer üzerindeki ilgili işlemi yapma izni olup olmadığını bazı güvenlik mantıklarını gerçekleştirme işi AccessDecisionManager tarafından yapılır. Eğer erişim hakkı yoksa AccessDeniedException aykırı durumu gerçekleştirim tarafından fırlatılır. 14
15 Bölüm 2 : Neden ve Nasıl Acegi? 2.1. J2EE de CMA! CMA (Container Managed Authentication), Servlet API üzerine kurulmuştur.! security-constraints (güvenlik kısıtlamaları), web.xml içerisinde yapılandırılır.! Kimlik denetim alanı yapılandırması, uygulama sunucusu içerisinde yapılır Temel Kimlik Denetimi <security-constraint> <web-resource-collection> <web-resource-name>güvenli Alan</web-resource-name> <url-pattern>/*</url-pattern> </web-resource-collection> <auth-constraint> <role-name>*</role-name> </auth-constraint> </security-constraint> <login-config> <auth-method>temel</auth-method> <realm-name>güvenli Bölge</realm-name> </login-config> 15
16 Form Tabanlı Kimlik Denetimi! /WEB-INF/web.xml: <security-constraint> <web-resource-collection> <web-resource-name>güvenli Alan</web-resource-name> <url-pattern>*.html</url-pattern> </web-resource-collection> <auth-constraint> <role-name>*</role-name> </auth-constraint> </security-constraint> <login-config> <auth-method>form</auth-method> <form-login-config> <form-login-page>/login.jsp</form-login-page> <form-error-page>/loginerror.jsp</form-error-page> </form-login-config> </login-config>! /login.jsp <form id="loginform" method="post" action="j_security_check"> <p> <label for="j_username">kullanıcı Adı:</label> <input type="text" name="j_username" id="j_username"/><br/> <label for="j_password">parola:</label> <input type="password" name="j_password" id="j_password"/> <button type="submit">giriş</button> </p> </form> 16
17 ! /loginerror.jsp <p> Giriş Hatalı - lütfen <a href="index.jsp">yeniden deneyin</a>. </p> 2.2. Tomcat Alanları (Tomcat Realms)! MemoryRealm, JDBCRealm, DataSourceRealm, JAASRealm, JNDIRealm! JDBCRealm Örneği: <Context path="/equinox-security" docbase="equinox-security" debug="99" reloadable="true" antijarlocking="true" antiresourcelocking="true"> <Realm classname="org.apache.catalina.realm.jdbcrealm" debug="99" drivername="com.mysql.jdbc.driver" connectionurl="jdbc:mysql://localhost/ equinox?autoreconnect=true" connectionname="root" connectionpassword="" usertable="users" usernamecol="username" usercredcol="password" userroletable="user_roles" rolenamecol="rolename"/> </Context> 17
18 2.3. CMA daki problemler! Düşünüldüğü gibi portatif değildir! Bütün servlet kapları(container) JDBCRealm le taşınamaz! Form tabanlı kimlik denetimi sorunları: 1. Çoğu zaman kullanıcı/rol sorgularını SQL ile kontrol edemeyiz 2. Kullanıcının ilk login olduğu anı /j_security_check üzerinde filtreleyerek yakalama imkanımız yok 3. Gerçekleştirimi farklı sunucularda değişir Çözüm : Acegi Güvenlik! Herşey kendi uygulamamız içerisinde ayarlanabilir! URL lerin güvenliğini her zamanki ifadelerle oluşturulan rollerle sağlayabiliriz.! URL örüntüleri her zamanki ifadelerle veya Ant-türü örüntülerle olabilir (örneğin : /**/admin*.html)! Desteklediği kimlik denetim yöntemleri : Basic, Digest, Form, Yale Central Authentication System(CAS)! Kimlik denetim sağlayıcıları (Authentication providers) : JDBC, XML, LDAP, CAS 18
19 2.5. Acegi Güvenlik Ayarlamaları web.xml ayarları <filter> <filter-name>securityfilter</filter-name> <filter-class> net.sf.acegisecurity.util.filtertobeanproxy </filter-class> <init-param> <param-name>targetclass</param-name> <param-value> net.sf.acegisecurity.util.filterchainproxy </param-value> </init-param> </filter> <filter-mapping> <filter-name>securityfilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> appcontext~security.xml ayarları! filterchainproxy bean : Kimlik denetimi işlemi için gerekli süzgeçler(filter) listesini içerir. Bu süzgeçler aşağıdaki spesifik görevleri gerçekleştirir : o httpsessioncontextintegrationfilter: Bu süzgeç kullanıcının kimlik denetimini ContextHolder içerisinde saklamak için kullanıcının açtığı oturumla iletişim kurmakla sorumludur. 19
20 o basicprocessingfilter: Bu süzgeç bir HTTP isteminin temel kimlik denetimi başlıklarını işleme koyar ve sonuçlarını ContextHolder ın içine yerleştirir. o securityenforcementfilter: Bu süzgeç istemleri, kullanıcıların hangi URL lere gitme izni olduğunu belirleyen FilterSecurityInterceptor a iletir <!-- ======================= FILTER CHAIN ====================== --> <bean id="filterchainproxy" class="net.sf.acegisecurity.util.filterchainproxy"> <property name="filterinvocationdefinitionsource"> <value> CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON PATTERN_TYPE_APACHE_ANT /j_security_check*= httpsessioncontextintegrationfilter, authenticationprocessingfilter /*.html*=httpsessioncontextintegrationfilter, remoteuserfilter,anonymousprocessingfilter, securityenforcementfilter /*.jsp=httpsessioncontextintegrationfilter, remoteuserfilter </value> </property> 20
21 Temel Kimlik Denetimi <!-- ================== AUTHENTICATION ================== --> <bean id="authenticationmanager" class="net.sf.acegisecurity.providers.providermanager"> <property name="providers"> <list> <ref local="daoauthenticationprovider"/> </list> </property> <bean id="inmemorydaoimpl" class="net.sf.acegisecurity.providers.dao.memory. InMemoryDaoImpl"> <property name="usermap" value="tomcat=tomcat,role_user"/> <bean id="daoauthenticationprovider" class="net.sf.acegisecurity.providers.dao. DaoAuthenticationProvider"> <property name="authenticationdao" ref="inmemorydaoimpl"/> <bean id="basicprocessingfilter" class="net.sf.acegisecurity.ui.basicauth. BasicProcessingFilter"> <property name="authenticationmanager" ref="authenticationmanager"/> <property name="authenticationentrypoint" ref="basicprocessingfilterentrypoint"/> 21
22 <bean id="basicprocessingfilterentrypoint" class="net.sf.acegisecurity.ui.basicauth. BasicProcessingFilterEntryPoint"> <property name="realmname" value="protectedarea"/> Güvenli HTTP İstemi <!-- =============== HTTP REQUEST SECURITY ============== --> <bean id="httpsessioncontextintegrationfilter" class="net.sf.acegisecurity.context. HttpSessionContextIntegrationFilter"> <property name="context" value="net.sf.acegisecurity.context.security. SecureContextImpl"/> <bean id="securityenforcementfilter" class="net.sf.acegisecurity.intercept.web. SecurityEnforcementFilter"> <property name="filtersecurityinterceptor" ref="filterinvocationinterceptor"/> <property name="authenticationentrypoint" ref="basicprocessingfilterentrypoint"/> <bean id="httprequestaccessdecisionmanager" class="net.sf.acegisecurity.vote.affirmativebased"> <property name="allowifallabstaindecisions" value="false"/> <property name="decisionvoters"> <list><ref bean="rolevoter"/></list> </property> 22
23 <bean id="rolevoter" class="net.sf.acegisecurity.vote.rolevoter"/> <bean id="filterinvocationinterceptor" class="net.sf.acegisecurity.intercept.web. FilterSecurityInterceptor"> <property name="authenticationmanager" ref="authenticationmanager"/> <property name="accessdecisionmanager" ref="httprequestaccessdecisionmanager"/> <property name="objectdefinitionsource"> <value> CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON PATTERN_TYPE_APACHE_ANT /*.html*=role_user /*.jsp=role_user </value> </property> Form Tabanlı Kimlik Denetimi! Temel kimlik denetiminden, form tabanlı kimlik denetimine geçiş için sadece XML konfigürasyonu yeterlidir.! Login ve LoginError sayfaları CMA daki gibi olabilir! Beni Hatırla ve Parola Şifreleme gibi işlemler için kod gerekmez sadece xml. 23
24 Kimlik Denetimi Sağlayıcıları (Authentication Providers) <bean id="daoauthenticationprovider" class="net.sf.acegisecurity.providers.dao. DaoAuthenticationProvider"> <property name="authenticationdao" ref="inmemorydaoimpl"/> <bean id="inmemorydaoimpl" class="net.sf.acegisecurity.providers.dao.memory. InMemoryDaoImpl"> <property name="usermap"> <value> tomcat=tomcat,role_user springlive=springlive,role_user </value> </property> Parola Şifreleme <bean id="inmemorydaoimpl" class="net.sf.acegisecurity.providers.dao.memory. InMemoryDaoImpl"> <property name="usermap"> <value> tomcat=536c0b c1b33caf454454d8b8a190d6c, ROLE_USER springlive=2a9152cff1d25b5bbaa3e5fbc7acdc6905c9f251, ROLE_USER </value> </property> 24
25 <bean id="daoauthenticationprovider" class="net.sf.acegisecurity.providers.dao. DaoAuthenticationProvider"> <property name="authenticationdao" ref="inmemorydaoimpl"/> <property name="passwordencoder" ref="passwordencoder"/> <bean id="passwordencoder" class="net.sf.acegisecurity.providers.encoding. ShaPasswordEncoder"/> JDBC Sağlayıcısı! JDBC kullanabilmek için datasource a bağımlı bir bean tanımlamamız yeterlidir: <bean id="jdbcdaoimpl" class="net.sf.acegisecurity.providers.dao.jdbc. JdbcDaoImpl"> <property name="datasource" ref="datasource"/>! Kullanıcı ve rollerini seçebilmemiz için varsayılan SQL cümlecikleri: "SELECT username,password,enabled FROM users WHERE username =?"; "SELECT username,authority FROM authorities WHERE username =?"; 25
26 SQL Uyarlama! SQL i yeniden yazmak için usersbyusernamequery ve authoritiesbyusernamequery özelliklerini belirlememiz gerekir: <bean id="jdbcdaoimpl" class="net.sf.acegisecurity.providers.dao.jdbc. JdbcDaoImpl"> <property name="datasource" ref="datasource"/> <property name="usersbyusernamequery"> <value>select username,password,enabled as 'true' FROM users WHERE username =?</value> </property> <property name="authoritiesbyusernamequery"> <value>select username,rolename FROM user_roles WHERE username =?</value> </property> <property name="passwordencoder" ref="passwordencoder"/> 26
27 Metotları Rollerle Güvelik Altına Alma <bean id="securityinterceptor" class="net.sf.acegisecurity.intercept.method.aopalliance. MethodSecurityInterceptor"> <property name="authenticationmanager" ref="authenticationmanager"/> <property name="accessdecisionmanager" ref="accessdecisionmanager"/> <property name="objectdefinitionsource"> <value> org.appfuse.service.usermanager.getuser=role_admin org.appfuse.service.usermanager.getusers=role_user org.appfuse.service.usermanager.removeuser=role_admin org.appfuse.service.usermanager.saveuser=role_admin </value> </property>... <bean id="usermanager" parent="txproxytemplate"> <property name="target"> <bean class="org.appfuse.service.impl. UserManagerImpl" autowire="byname"/> </property> <property name="preinterceptors"> <list><ref bean="securityinterceptor"/></list> </property> 27
28 2.6. Diğer Özellikler! Access Control Lists (ACLs) : Her nesne için izin kontrolü yapar.! AfterMethodInvocation Kesiştiricisi : Kullanıcının okuma izni olmadığı nesneleri koleksiyonlardan kaldırır.! Denetim ve Olay Günlükleri : 2.7. J2EE vs. Acegi Güvenlik Sistemi Güvenlik Çerçevesi (Security Framework) J2EE Güvenlik Artıları Uygulama açısından kurulumu kolaydır. Kullanıcı Alanı konfigürasyonu kurgulayan kişinin elindedir. Standart olduğu için hakkında bir çok kaynak bulunabilir. Eksileri Bir uygulama sunucusundan diğer uygulama sunucusuna bağlantı kurmak zordur. Uygulama geliştiricisi konfigürasyonu standartlaştırılmış olmasına rağmen, sunucu için alan konfigürasyonu standart değildir. Servis katmanı metotlarının güvenliği sadece EJB ler kullanılarak yapılabilir. 28
29 Acegi Güvenlik Güvenlik konfigürasyonları uygulamadan tamamen bağımsızdır uygulama sunucusunun taşınması durumunda kaygı duymanız gerekmez. J2EE güvenliğin eksikliklerini kapatır ve uyarlama özelliği sayesinde aynı şeylere izin de verir. CAS ile tekil oturum açmaya izin verir. Hızla gelişiyor ve yenileniyor. Çok fazla XML konfigürasyonu gerektiriyor Öğrenme eğrisi çok diktir, ilk başlangıçta çok zor gelebilir. Alan bilgisi uygulama ile birlikte paketlenir, yerini değiştirmek oldukça zordur. Kaynaklar: AcegiSecurity / Matt Raible Acegi Security System For Spring / Ben Alex Acegi Security Style / Matthew Porter 29
Spring Security Framework Harezmi Bilişim Çözümleri
Spring Security Framework Harezmi Bilişim Çözümleri www.java-egitimleri.com 1 Ajanda Güvenlik İhtiyaçlarına Genel Bakış Spring Security Nedir? & Özellikleri Neden Spring Security? Spring Security Yapıtaşları
DetaylıÜst Düzey Programlama
Üst Düzey Programlama Servlet Üst Düzey Programlama-ders01/ 1 Servlet Nedir? Web sayfaları ilk başlarda durağan bir yapıya sahipti ve kullanıcıdan bilgi alarak işlemler yapmıyordu. Zamanın geçmesiyle kullanıcıya
DetaylıJava EE web uygulamaları geliştirmek için kullanılan açık kaynak web uygulama framework üdür.
1 Apache Struts Java EE web uygulamaları geliştirmek için kullanılan açık kaynak web uygulama framework üdür. Kullanıcılara MVC mimarisini benimsetmek için Java Servlet API sini kullanıyor. Model-View-Controller
DetaylıIntercepting Filter Tasarım Şablonu KurumsalJava.com
Intercepting Filter Tasarım Şablonu KurumsalJava.com Özcan Acar Bilgisayar Mühendisi http://www.ozcanacar.com Front Controller 1 tasarım şablonunda, kullanıcıdan gelen isteklerin (request) merkezi bir
DetaylıÖZGÜR YAZILIMLAR İLE J2EE
ÖZGÜR YAZILIMLAR İLE J2EE Buğra Çakır bugra@ibrahimcakir.com Seminer İçeriği 1. İki ve üç katmanlı yazılım mimarileri 2. Java ve J2EE platformu 3. Özgür yazılımlar ile J2EE 4. Eclipse, Lomboz ve JBoss
DetaylıĐSTEMCĐ SUNUCU SĐSTEMLER DERSĐ FĐNAL ÇALIŞMASI SORULAR YANITLAR
ĐSTEMCĐ SUNUCU SĐSTEMLER DERSĐ FĐNAL ÇALIŞMASI SORULAR YANITLAR 4.ÜNĐTE Đyi bir DNS in içermesi gereken özellikler nelerdir? ( 5 ) Đsimlendirme imlası açık ve süphesiz olmalıdır; Bir kullanıcı bir isme
DetaylıSpring Ekosisteminde Kurumsal Yazılım Geliştirme. Kenan Sevindik Harezmi Bilişim Çözümleri A.Ş.
Ekosisteminde Kurumsal Yazılım Geliştirme Kenan Sevindik Harezmi Bilişim Çözümleri A.Ş. Hakkımızda Harezmi Bilişim Çözümleri 2011 yılında kuruldu Uzmanlık alanlarımız Kurumsal uygulama geliştirme Java
DetaylıSwing ve JDBC ile Database Erişimi
Swing ve JDBC ile Database Erişimi JDBC API, tablolanmış herhangi bir tür veriye, özellikle İlişkisel Veritabanı, erişim sağlayan bir Java API sidir. JDBC, aşağıda verilen üç etkinliğin gerçekleştirilebileceği
DetaylıSpring Framework Eğitimi
Hazırlayan: Barış Dere www.barisdere.com @BarisDere baris.dere@gmail.com Spring Framework Eğitimi Ders 3: Http://www.youtube.com/barisdere Ders içeriği Scope nedir Singleton scope Prototype scope Web scopes
DetaylıMobil Cihazlardan Web Servis Sunumu
Mobil Cihazlardan Web Servis Sunumu Özlem Özgöbek Ege Üniversitesi Bilgisayar Mühendisliği Bölümü 2010 İnternet erişiminin yaygınlaşması ve artık mobil cihazlar üzerinden bile yüksek hızlı veri iletişimine
DetaylıKaynak Kod Güvenliği Bir Güvensiz API Örneği
Kaynak Kod Güvenliği Bir Güvensiz API Örneği Bedirhan Urgun, Ağustos 2010, WGT E-Dergi 6. Sayı Bu yazıda Tomcat J2EE kısmi uygulama sunucusunda bulunan bir güvenlik açığına, güvenlik probleminin kaynağına
DetaylıT.C.SOSYAL GÜVENLİK KURUMU. Genel Sağlık Sigortası Medula Optik E-rapor Web Servisleri Kullanım Kılavuzu
T.C.SOSYAL GÜVENLİK KURUMU Genel Sağlık Sigortası Medula Optik E-rapor Web Servisleri Kullanım Kılavuzu 20.05.2015 Sayfa 1 İÇİNDEKİLER GİRİŞ...3 1 GENEL BİLGİLER...3 1.1SÜREÇ AÇIKLAMALARI....3 1.2AMAÇ....4
DetaylıT.C.SOSYAL GÜVENLİK KURUMU. Genel Sağlık Sigortası Medula Optik E-rapor Web Servisleri Kullanım Kılavuzu
T.C.SOSYAL GÜVENLİK KURUMU Genel Sağlık Sigortası Medula Optik E-rapor Web Servisleri Kullanım Kılavuzu 20.05.2015 Sayfa 1 İÇİNDEKİLER GİRİŞ...3 1 GENEL BİLGİLER...3 1.1SÜREÇ AÇIKLAMALARI....3 1.2AMAÇ....4
DetaylıFilm Arşiv Sistemi. Yazılım Tasarım Belgesi
1. Sürüm Tarihçesi Film Arşiv Sitesi Yazılım Tasarım Belgesi Sürüm Tarih Yazarlar Açıklamalar 1.0 28.12.2010 Rana ALGAN Elif BONCUK Bu belge sistemin tasarım detaylarını içerir. 2. Giriş 2.1 Amaç ve Kapsam
DetaylıT.C.SOSYAL GÜVENLİK KURUMU. Genel Sağlık Sigortası Medula Optik E-rapor Web Servisleri Kullanım Kılavuzu
T.C.SOSYAL GÜVENLİK KURUMU Genel Sağlık Sigortası Medula Optik E-rapor Web Servisleri Kullanım Kılavuzu 15.06.2015 Sayfa 1 İÇİNDEKİLER GİRİŞ...3 1 GENEL BİLGİLER...3 1.1SÜREÇ AÇIKLAMALARI....3 1.2AMAÇ....4
DetaylıÜst Düzey Programlama
Üst Düzey Programlama Struts Framework Üst Düzey Programlama-ders08/ 1 JSP MODEL 1 ve MODEL 2 Mimarileri Bu mimariler bir web uygulaması geliştirilirken kullanılan yöntemlerdir. Bu yöntemler arasındaki
DetaylıMedula Eczane Stok Bilgileri Web Servisleri Kullanım Kılavuzu
T.C. SOSYAL GÜVENLİK KURUMU Medula Eczane Stok Bilgileri Web Servisleri Kullanım Kılavuzu 29 ARALIK 2016 Amaç Eczanelerin sorgulanan güne ait olan reçete ilaç bilgilerinin istemci tarafına gönderilmesi.
Detaylıİnternet Programcılığı
1 PHP le Ver tabanı İşlemler Yaptığımız web sitelerinin daha kullanışlı olması için veritabanı sistemleri ile bağlantı kurup ihtiyaca göre verileri okuyup yazmasını isteriz. 1.1 Veritabanı Nedir? Veritabanı
DetaylıÜst Düzey Programlama
Üst Düzey Programlama Servlet Üst Düzey Programlama-ders08/ 1 Servlet Nedir? Internetin ilk zamanlarında geliştirilen web sayfaları durağan bilgiler içeriyordu. Zaman geçtikçe web sayfaları daha değişken,
DetaylıEKLER EK 12UY0106-5/A4-1:
Yayın Tarihi: 26/12/2012 Rev. :01 EKLER EK 12UY0106-5/A4-1: nin Kazandırılması için Tavsiye Edilen Eğitime İlişkin Bilgiler Bu birimin kazandırılması için aşağıda tanımlanan içeriğe sahip bir eğitim programının
DetaylıORM & Hibernate. Ahmet Demirelli. SCJP 5.0, SCWCD 1.4 ahmetdemirelli@sabanciuniv.edu
ORM & Hibernate Ahmet Demirelli SCJP 5.0, SCWCD 1.4 ahmetdemirelli@sabanciuniv.edu Sabancı Üniversitesi Bilişim Teknolojileri Yüksek Lisans Programı Seminerleri 2008 Hakkımızda SabancıÜniversitesi BT Yüksek
DetaylıHızlı Başlangıç Kılavuzu
Hızlı Başlangıç Kılavuzu Microsoft Access 2013 önceki sürümlerden farklı görünmektedir, dolayısıyla öğrenme eğrisini en aza indirmenize yardımcı olmak üzere bu kılavuzu hazırladık. Ekran boyutunu değiştirme
DetaylıHP PROCURVE SWITCHLERDE 802.1X KİMLİK DOĞRULAMA KONFİGÜRASYONU. Levent Gönenç GÜLSOY 27.01.2014
HP PROCURVE SWITCHLERDE 802.1X KİMLİK DOĞRULAMA KONFİGÜRASYONU Levent Gönenç GÜLSOY 27.01.2014 1. GİRİŞ 1.1 Network Access Control (NAC) Metodları MAC Doğrulaması: 802.1x ve Web Kimlik doğrulaması desteklemeyen
DetaylıMVC Kul anıcı Doğrulama ve Yetkilendirme MVC Filtreler Action Filter FilterAttribute IActionFilter FilterAttribute IActionFilter
MVC Kullanıcı Doğrulama ve Yetkilendirme MVC projesinde kullanıcıların oturum açmasının sağlanması ve sadece yetkili oldukları action metotlara erişebilmelerini anlatan bir örnek uygulama gerçekleştirilecektir.
DetaylıT.C.SOSYAL GÜVENLİK KURUMU. Genel Sağlık Sigortası Medula Optik E-reçete Web Servisleri Kullanım Kılavuzu
T.C.SOSYAL GÜVENLİK KURUMU Genel Sağlık Sigortası Medula Optik E-reçete Web Servisleri Kullanım Kılavuzu 15.06.2015 Sayfa 1 İÇİNDEKİLER GİRİŞ...3 1 GENEL BİLGİLER...3 1.1SÜREÇ AÇIKLAMALARI....3 1.2AMAÇ....4
DetaylıTÜİK e-vt. Web Servis Kılavuzu
TÜİK e-vt Web Servis Kılavuzu Mayıs 2015 ANKARA Versiyon: 1.2 1/12 Versiyon Yayım Tarihi Eklenen/Silinen/Değişen Bölüm 1.0 20.02.2014 ---- Kılavuzun ilk sürümü. 1.1 17.04.2014 Sayfa 13 Hata Kodu Tablosu
DetaylıAtılım Üniversitesi Bilgi & Đletişim Teknolojileri Müdürlüğü Sistem Yönetim Uzman Yardımcısı Görev Tanımı
Atılım Üniversitesi Bilgi & Đletişim Teknolojileri Müdürlüğü Sistem Yönetim Uzman Yardımcısı Görev Tanımı Formal Doküman Detayları Hazırlanma Tarihi 11 Temmuz 2013 Yayın Taslak Hazırlayan Ersun Ersoy Doküman
DetaylıBilgi Servisleri (IS)
Bilgi Servisleri (IS) GRID Kullanıcı Eğitimi Boğaziçi Üniversitesi 2007, İstanbul Emrah AKKOYUN Konu Başlığı Neden ihtiyaç duyulur? Kullanıcılar kimlerdir? Bilgi Servisi türleri MDS ve BDII LDAP Bilgi
DetaylıWeb Uygulama Güvenliği Kontrol Listesi 2010
Web Uygulama Güvenliği Kontrol Listesi 2010 1 www.webguvenligi.org Web uygulama güvenliği kontrol listesi 2010, OWASP-Türkiye ve Web Güvenliği Topluluğu tarafından güvenli web uygulamalarında aktif olması
DetaylıArş.Gör.Muhammet Çağrı Gencer Bilgisayar Mühendisliği KTO Karatay Üniversitesi 2015
Arş.Gör.Muhammet Çağrı Gencer Bilgisayar Mühendisliği KTO Karatay Üniversitesi 2015 KONU BAŞLIKLARI 1. Yazılım Mimarisi nedir? 2. Yazılımda Karmaşıklık 3. Üç Katmanlı Mimari nedir? 4. Üç Katmanlı Mimari
DetaylıAğ Yönetiminin Fonksiyonel Mimarisi
Bölüm 7 Ağ Yönetimi Ağ Yönetiminin Fonksiyonel Mimarisi a) Performans (Performance) Yönetimi b) Sistem Ayarları (Configuration) Yönetimi c) Hesap (Account) t)yönetimi i d) Hata (Fault) Yönetimi e) Güvenlik
DetaylıState Yönetimi. Bir web sayfası ile sunucu arasındaki etkileşim ;
State Yönetimi State Yönetimi Web Page sınıflarının nesneleri, sayfa sunucu tarafına her defasında gönderildiğinde oluşturulur. Böyle bir durum sayfada kullanıcının girmiş olduğu ve sayfa ile ilişkili
DetaylıÜst Düzey Programlama
Üst Düzey Programlama Servlet 1 Çerez (Cookie) Cookie'ler servletlerden kullanıcının bilgisayarında istekte bulunduğu web tarayıcısına ( anahtar=kelime ) şeklinde bilgi göndermemiz için kullanılan yapılardır.
DetaylıJBoss Seam Next Generation Integration Framework
JBoss Seam Next Generation Integration Framework Melih Sakarya www.melihsakarya.com melih.sakarya@gmail.com www.mergecons.com Seam Framework JSF JPA Hibernate EJB 3.0 Ajax RichFaces A4J Drools itext PDF
Detaylı8. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ. hakanyilmaz@karabuk.edu.tr
8. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II Öğr.Gör. Hakan YILMAZ hakanyilmaz@karabuk.edu.tr Karabük Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi 2 İçindekiler QUERYSTRING KOLEKSIYONU... 3 FORM
DetaylıProFTPD FTP Sunucusu. Devrim GÜNDÜZ. TR.NET Sistem Destek Uzmanı. devrim@gunduz.org
Devrim GÜNDÜZ TR.NET Sistem Destek Uzmanı devrim@gunduz.org http://seminer.linux.org.tr http://belgeler.linux.org.tr http://lkd.belgeler.org http://www.linux.org.tr/belgeler.php http://www.gunduz.org/belgeler.php
DetaylıVeritabanı İşlemleri
Veritabanı İşlemleri Bu bölümde; Veritabanı bağlantısı Komutların Yürütülmesi ADO.NET Nesne Modeli kavramları incelenecektir. ADO.NET (ActiveX Data Objects) ADO.NET, var olan Windows API lerinden çok daha
DetaylıMOBILEPAX ENTERPRISE API (WEB SERVİS)
MOBILEPAX ENTERPRISE API (WEB SERVİS) Versiyon: 1.0.5 İçindekiler İçindekiler... 2 1. Belgenin Amacı... 3 2. Sistem Gereksinimleri... 3 3. Belge Sürümleri... 3 4. Kullanım Şekli... 3 4.1 Web den Başlatma...
Detaylı5651 ve 5070 Sayılı Kanun Tanımlar Yükümlülükler ve Sorumluluklar Logix v2.3 Firewall. Rekare Bilgi Teknolojileri
5651 ve 5070 Sayılı Kanun Tanımlar Yükümlülükler ve Sorumluluklar Logix v2.3 Firewall 5651 Sayılı Kanun Kanunun Tanımı : İnternet Ortamında Yapılan Yayınların Düzenlenmesi ve Bu Yayınlar Yoluyla İşlenen
DetaylıClient Server Database
Java Server Faces Ahmet Demirelli Sabancı Üniversitesi 2007 Ajanda Model-1 Mimari Model-2 Mimari MVC Framework Java Server Faces Örnek Uygulama Model 1 Mimari 1 2 3 6 JSP (View) 5 JavaBeans (Model) 4 Client
DetaylıAtılım Üniversitesi Bilgi & Đletişim Teknolojileri Müdürlüğü Sistem Yönetim Uzmanı Görev Tanımı
Atılım Üniversitesi Bilgi & Đletişim Teknolojileri Müdürlüğü Sistem Yönetim Uzmanı Görev Tanımı Formal Doküman Detayları Hazırlanma Tarihi 17 Eylül 2012 Yayın Taslak Hazırlayan Ersun Ersoy Doküman Numarası
DetaylıVeritabanı. Ders 2 VERİTABANI
Veritabanı Veritabanı Nedir? Birbiri ile ilişkili verilerin bir arada uzun süreli bulundurulmasıdır. Veritabanı bazen Veritabanı Yönetim sistemi veya Veritabanı Sistemi yerine de kullanılır. Gerçek dünyanın
DetaylıAndroid e Giriş. Öğr.Gör. Utku SOBUTAY
Android e Giriş Öğr.Gör. Utku SOBUTAY Android İşletim Sistemi Hakkında 2 Google tarafından geliştirilmiştir. Dünyada en çok kullanılan mobil işletim sistemidir. 2018 itibariyle Dünyada Android; %78.65,
DetaylıOutlook ta Mail Arama
Outlook ta Mail Arama Merhaba arkadaşlar, İş hayatında en sık kullanılan programların başında Outlook programı gelmektedir ve en sık yapılan işlemlerden biri de geçmişe dönük mailler arasında arama yapmaktır.
DetaylıGoogle Web Toolkit ile Öğretim Elemanı Otomasyon Sistemi
Google Web Toolkit ile Öğretim Elemanı Otomasyon Sistemi Mehmet Karakoç Akdeniz Üniversitesi Bilgisayar Bilimleri Araştırma ve Uygulama Merkezi 28.11.2014 inet-tr'14 : GWT AUFaculty Project 1 İçerik Giriş
DetaylıFortiMail Gateway Modunda Kurulum. v4.00-build0245-2011/08
FortiMail Gateway Modunda Kurulum v4.00-build0245-2011/08 0 FortiMail Kurulumu Gateway Modunda Kurulum Datasheet FortiMail - Gateway Modunda Kurulum Şemada görüldüğü gibi FortiMail 10.10.10.20 IP adresi
DetaylıGüvenlik Java ve Web Uygulama Güvenliği
Güvenlik Java ve Web Uygulama Güvenliği Melih Sakarya www.melihsakarya.com melih.sakarya@gmail.com www.mergecons.com Olası Açıklar Donanımsal açıklar Sistemsel Açıklar Yazılımsal Açıklar Sosyal Mühendislik
DetaylıYeni Nesil Ağ Güvenliği
Yeni Nesil Ağ Güvenliği Ders 6 Mehmet Demirci 1 Bugün Taşıma katmanı güvenliği (TLS, SSL) İnternet katmanı güvenliği (IPSec) Kablosuz bağlantı güvenliği Güvenlik duvarları 2 SSL/TLS SSL ilk olarak Netscape
DetaylıMOBILEPAX SOAP PRODUCT API KULLANIM ŞEKLİ
MOBILEPAX SOAP PRODUCT API KULLANIM ŞEKLİ Versiyon: 1.0.4 URL http://merchant.mobilepax.com/services/product.asmx Metot MobilePaxProduct fonksiyonu buton bilgisi oluşturulacak ürünün bilgilerinin Mobilepax
DetaylıMOBILEPAX XML PRODUCT API KULLANIM ŞEKLİ
MOBILEPAX XML PRODUCT API KULLANIM ŞEKLİ Versiyon: 1.0.4 URL Adresi http://merchant.mobilepax.com/services/product.aspx Gönderilen XML Yapısı MobilePaxProduct fonksiyonu buton bilgisi oluşturulacak ürünün
DetaylıMedula Eczane E-Reçete Web Servislerinin Kullanım Kılavuzu (Test amaçlıdır, ödemeye esas teşkil etmeyecektir)
T.C. SOSYAL GÜVENLİK KURUMU Medula Eczane E-Reçete Web Servislerinin Kullanım Kılavuzu (Test amaçlıdır, ödemeye esas teşkil etmeyecektir) Sürüm 1.0 OCAK 2012 Amaç Hastanelerin elektronik reçete bilgilerinin
DetaylıMyFaces Özgür JSF Uyarlaması. Bora Güngören Portakal Teknoloji bora@portakalteknoloji.com
MyFaces Özgür JSF Uyarlaması Bora Güngören Portakal Teknoloji bora@portakalteknoloji.com Sunum Bilgisi ve Lisans Bu sunum 22 Mayıs 2005 günü Linux Kullanıcıları Derneği adına verilmiştir. Sunum içeriği
DetaylıÖğr.Gör. Gökhan TURAN www.gokhanturan.com.tr. Gölhisar Meslek Yüksekokulu
Öğr.Gör. Gökhan TURAN www.gokhanturan.com.tr Gölhisar Meslek Yüksekokulu İnternet Nedir? Internet, birçok bilgisayar sisteminin birbirine bağlı olduğu, dünya çapında yaygın olan ve sürekli büyüyen bir
DetaylıPAKET TRANSFER SİSTEMİ
İLAÇ TAKİP SİSTEMİ ŞUBE MÜDÜRLÜĞÜ PAKET TRANSFER SİSTEMİ Kullanıcı Dökümanı Version 1.0 1 1. Revizyonlar... 1 2. Giriş... 1 2.1 Kapsam... 1 2.2 Hedef Kitle... 1 3. Gereksinimler... 1 3.1 Yazılım Gereksinimleri...
DetaylıNESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 10. Yrd.Doç.Dr.Hacer Karacan
NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 10 Yrd.Doç.Dr.Hacer Karacan İçerik Grafik Kullanıcı Arayüzü Uygulamaları AWT, Swing Arayüz Yerleşim Düzeni Temel GKA Bileşenleri Olay Yönetimi Olay Dinleyiciler Olay
DetaylıVIDEOCELL API. Versiyon 1.0.0
VIDEOCELL API Versiyon 1.0.0 İçindekiler 1. Bu Belgenin Amacı... 3 2. Belge Sürümleri... 3 3. Sistem Gereksinimleri... 3 4. Kullanım Şekli... 3 4.1. Genel... 3 4.2. Uyarılar... 3 4.3. Hata Kodları... 4
DetaylıOTURUM AÇMA ADLARI. Tavsiye Edilen Önhazırlık Enterprise Manager'i kullanabilmek.
Ms SQL Sunucu Düzeyinde Güvenlik Bölüm Veritabanı Yönetimi Yazar Mustafa ÖZEN Yayın Tarihi 04.03.2004 Okunma Sayısı 805 Tavsiye Edilen Önhazırlık Enterprise Manager'i kullanabilmek. Hedefler Kimlik denetemini
DetaylıHTML isteklerini anlayarak HTML sonucu üreten ve yaygın olarak kullanılan temel Servlet sınıfı HttpServlet tir.
ÖN BİLGİ Servlet Dinamik içerik üreten bir Java Web bileşenidir. Web teknolojilerinin temelinde bulunur. JSP ve JSF hala Servlet'i kullanır. Bir Servlet, her yönüyle, herşeyden önce, bir Java nesnesidir.
DetaylıTrend Micro Worry-Free Business Security 8.0 İlk Kez Kurulumla İlgili İpuçları ve Püf Noktaları
Trend Micro Worry-Free Business Security 8.0 İlk Kez Kurulumla İlgili İpuçları ve Püf Noktaları Casus Yazılımdan İstenmeyen E- Koruma Postadan Koruma Virüsten Koruma Kimlik Avından Koruma İçerik ve URL
Detaylı1.Mailbox Server Role:
Exchange Server 2007 Role bazlı mimarisi ile organizasyonda ki mail trafiğini sağlamak için farklı sunucular üzerine farklı işlevselliğin dağıtılması ile karşımıza çıkıyor.daha önceki Exchange Server 2003
DetaylıÜst Düzey Programlama
Üst Düzey Programlama JSP Üst Düzey Programlama-ders04/ 1 JSP JSP durağan HTML ile dinamik oluşturulan içeriği birleştirmeyi sağlar. Bir web sayfası tasarlama programı ile web sayfasını tasarlar daha sonra
DetaylıAsp.Net Veritabanı İşlemleri
Asp.Net Veritabanı İşlemleri Asp.Net Veritabanı İşlemleri Birçok uygulamada bilgiler geçici olarak tutulur ve oturum sonlandırıldığında bu bilgiler bellekten silinir. Ancak etkileşimli web sitelerinde
DetaylıÇekirdek Nedir? Ne yapar?
Çekirdek Nedir? Ne yapar? Erkan Esmer Nisan, 2014 İçindekiler 1 Giriş.................................................... 2 2 Çekirdek Tipleri.............................................. 3 2.1 Mikrokernel............................................
DetaylıPAPERWORK TEKNİK MİMARİ
PAPERWORK ECM TEKNİK MİMARİ 1. Şekilde (1) numara ile gösterilen Content Server adı verilen Uygulama Sunucusudur. Content Server tüm iş mantığını içerir. Veri Tabanına ve arşivlenen belgelere erişim yetkisi
DetaylıSDD Dökümantasyonu Versࠀyon 1.0. Movࠀe Predࠀctࠀon Orhan Özgün Ergen Ahmet Saday Berkay Erken
ࠀFakültes Mࠀmarlık Mühendࠀslࠀk ve ࠀtesࠀversࠀÜn Beykent ࠀğࠀslࠀMühend Yazılım SDD Dökümantasyonu Versࠀyon 1.0 Movࠀe Predࠀctࠀon 120301009 Sefa Saࠀd Denࠀz 120301019 Orhan Özgün Ergen 120301027 Ahmet Saday
DetaylıJava EE 5 Teknolojileri Jboss Seam
Java EE 5 Teknolojileri Jboss Seam Hakan Uygun İçerik Kurumsal Uygulama Nedir? Java Teknolojileri Web Uygulaması Java EE Bileşenleri JBoss Seam Yazılım İhtiyaçları Bireysel Kullanıcı Eğitim Eğlence İletişim
DetaylıÇÖZÜM BİLGİSAYAR KOLAY RANDEVU RANDEVU WEB SERVİSLERİ YAZILIM FİRMALARI ENTEGRASYON KILAVUZU 22.12.2006. Sürüm: 1.0
KOLAY RANDEVU RANDEVU WEB SERVİSLERİ YAZILIM FİRMALARI ENTEGRASYON KILAVUZU 22.12.2006 Sürüm: 1.0 2006-2007 Çözüm Bilgisayar www.cozumbil.com.tr cozum@cozumbil.com.tr İÇİNDEKİLER 1.GİRİŞ...3 1.1 GENEL
Detaylı5651 Sayılı Kanun Hakkında Kanunla ilgili detay bilgiler
2009 5651 Sayılı Kanun Hakkında Kanunla ilgili detay bilgiler İnternet ortamında yapılan yayınların düzenlenmesi ve bu yayınlar yoluyla işlenen suçlarla mücadele edilmesi hakkındaki 5651 sayılı kanunun
DetaylıSpring Giriş Eğitimi
Spring Giriş Eğitimi Bu eğitimde Spring ın hangi problemlere karşı etkili olduğundan bahsedeceğim. Ayrıca çekirdek Spring teknolojisinin nasıl işlediği; Dependency Injection - DI ve Inversion of Contol
DetaylıEclipse, Nesneler ve Java 2 Java Nereden Çıktı? 2
1 Eclipse, Nesneler ve Java 2 Java Nereden Çıktı? 2 Eclipse Mimarisi 4 Java Teknolojisine Genel Bir Bakış 6 Taşınabilirlik 6 Java Derleyicisi ve Bytecode 6 Java Sanal Makinası (Java Virtual Machine - JVM)
DetaylıMicrosoft Office Access Ders İçeriği 25 Saat. Access Temel 10 saat
Microsoft Office Access Ders İçeriği 25 Saat Access Temel 10 saat 1) Bölüm 1 : Office Çalışma Alanı Temelleri a) Temel Pencere Bileşenleri b) Backstage Görünümünü Tanıma c) Şerit İle Çalışma d) Hızlı Erişim
DetaylıTC KİMLİK NO SMS GÖNDERİM SOAP API
TC KİMLİK NO SMS GÖNDERİM SOAP API İçindekiler 1. Bu Belgenin Amacı... 3 2. Belge Sürümleri... 3 3. Sistem Gereksinimleri... 3 4. Kullanım Şekli... 3 4.1. Genel... 3 4.2. Uyarılar... 3 4.3. Hata Kodları...
DetaylıScript. Statik Sayfa. Dinamik Sayfa. Dinamik Web Sitelerinin Avantajları. İçerik Yönetim Sistemi. PHP Nedir? Avantajları.
Script Statik Sayfa Dinamik Sayfa Dinamik Web Sitelerinin Avantajları İçerik Yönetim Sistemi PHP Nedir? Avantajları Dezavantajları Script HTML kodları arasına yerleştirilen küçük kodlardır. Web sayfalarında
DetaylıNagios XI Günümüzün talep gören kurumsal gereksinimleri için en güçlü BT altyapısı gözetim ve uyarı çözümüdür.
Nagios Enterprises, kurumsal ölçekte, BT altyapı gözetiminde endüstri standardı olan Nagios için resmi ürünler, hizmetler ve çözümler sunuyor. Dünya çapında yüz binlerce kullanıcıyla Nagios bilgi teknolojileri
DetaylıOPC Data Access (DA) Temelleri
OPC Data Access (DA) Temelleri Hazırlayan Kepware Technologies Türkçe Meal Salih GÖK Anket Data Access nedir? Data Access in getirileri OPC DA e giriş (Data Access) OPC DA Özelliklerine bakış Hızlı bir
DetaylıÜst Düzey Programlama
Üst Düzey Programlama Servlet Üst Düzey Programlama-ders02/ 1 Form ve kullanıcı verilerinin alınması http://anamakine/yol?kullanici=mustafa&sayfa=22 gibi bir istek ile karşılaşmışızdır.? işaretinden sonra
DetaylıYZM 2105 Nesneye Yönelik Programlama
YZM 2105 Nesneye Yönelik Programlama Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği 1 BÖLÜM - 5 Nesneye Yönelik Programlamaya Giriş Bu
DetaylıCOĞRAFİ BİLGİ SİSTEMLERİ SERVER MİMARİSİ SERVER UYGULAMA GELİŞTİRME EĞİTİMİ
COĞRAFİ BİLGİ SİSTEMLERİ SERVER MİMARİSİ SERVER UYGULAMA GELİŞTİRME EĞİTİMİ http://facebook.com/esriturkey https://twitter.com/esriturkiye egitim@esriturkey.com.tr Kursun Süresi: 5 Gün 30 Saat COĞRAFİ
Detaylıhttps://twitter.com/farukbozan 19 Şubat 2016 Cuma
Bugünkü yazımda çok basit ve temel anlamda Spring ile XML tanım tabanlı bean okuma işlemini anlatmaya çalışacağım. Spring framework bizim yerimize nesnelerin birbirine olan bağımlılıklarını düzenleyip,
DetaylıCoslat Monitor (Raporcu)
Coslat Monitor (Raporcu) Coslat Monitor, Coslat Firewall, Hotspot ve Mirror uygulamalarında oluşturulan zaman damgalı kayıtların analiz edilmesini ve raporlanmasını sağlayan uygulamadır. Coslat Monitor
DetaylıBilgi ve Olay Yönetim Sistemi
1 Bilgi ve Olay Yönetim Sistemi Kurulum Kılavuzu Nisan 2016 Versiyon Sürüm 2.1.3 2 İçindekiler Bilgi ve Olay Yönetim Sistemi... 1 1. Sistem Gereksinimleri... 3 2. Kurulum... 3 3. Lisanslama... 10 4. Windows
DetaylıAktarımı Çalıştırmak/Geri Almak 146 Alan Seçenekleri 148 Veri Tabanı Şeması 150 Veri Tabanı ile İlgili Bazı Rake Görevleri 162 Modeller 164
xi Ruby on Rails Nedir? 2 Rails Neden Farklıdır? 2 Başlamadan Önce Bilinmesi Gerekenler 4 İnternet Nasıl Çalışır? 4 İstemci-Web Sunucu İlişkisi 5 HTTP Protokolü 6 URL-Kaynak Konumlandırma Adresleri 7 HTTP
Detaylı«BM364» Veritabanı Uygulamaları
HAFTA 8 DB içerisinde CLR Bileşenleri" Yaşar GÖZÜDELİ ygozudeli@verivizyon.com http://blog.verivizyon.com/ygozudeli «BM364» Veritabanı Uygulamaları Konu Akışı SQL Server ve.net CLR SQL Server içerisinde
DetaylıAğ Bağlantısı Hızlı Kurulum Kılavuzu
Xerox WorkCentre M118/M118i Ağ Bağlantısı Hızlı Kurulum Kılavuzu 701P42720 Bu kılavuz aşağıdakilerle ilgili yordamlar sağlar: Ekranlarda Gezinme sayfa 2 DHCP Kullanarak Ağ Ayarları sayfa 2 Statik IP Adresi
Detaylıhttp://www.fatihbasaran.com.tr
http://www.fatihbasaran.com.tr FmB Network Tools Kurulum ve Kullanım Rehberi 1) Kurulum a) Hazırlık Eğer indirmediyseniz, yazılımın bir kopyasını aşağıdaki adresten edinebilirsiniz. Kurulum öncesinde tüm
DetaylıJavaServerFaces. Ahmet Demirelli. SCJP 5.0, SCWCD 1.4 ahmetdemirelli@sabanciuniv.edu
JavaServerFaces Ahmet Demirelli SCJP 5.0, SCWCD 1.4 ahmetdemirelli@sabanciuniv.edu Sabancı Üniversitesi Bilişim Teknolojileri Yüksek Lisans Programı Seminerleri 2008 Hakkımızda SabancıÜniversitesi BT Yüksek
DetaylıÜst Düzey Programlama
Üst Düzey Programlama JDBC (Java Database Connectivity) Üst Düzey Programlama-ders07/ 1 JDBC JDBC ilişkisel veritabanlarına erişim için Java dilinde kullanılan standart bir kütüphanedir. Bu kütüphanedeki
DetaylıULAKAAI Kimlik Federasyonu. Serdar Yiğit ULAKNETÇE 2011
ULAKAAI Kimlik Federasyonu Serdar Yiğit ULAKNETÇE 2011 Başlıklar Motivasyon Kimlik Doğrulama ve Yetkilendirme KDY Mekanizmaları Dağıtık Tek Oturum Açma ( SSO ) Kimlik Federasyonu Kavramı ULAKAAI Kimlik
DetaylıJAVA RMI ve Hibernate teknolojileri kullanılarak çok amaçlı bir yazılım altyapısı hazırlanması
JAVA RMI ve Hibernate teknolojileri kullanılarak çok amaçlı bir yazılım altyapısı hazırlanması Hakan ALBAĞ Tahsin Barış AKAN Bitirme Projesi 05.06.2006 Giriş Ticari yazılımlarda ortak ihtiyaçlar Birden
DetaylıExchange Server Kurulumu
Exchange Server Kurulumu Exchange server kurulumu için öncelikle domain ortamına dahil edilmiş sunuculara ihtiyacımız bulunmaktadır. Exchange 2013 sistemde 2 adet ana rol bulunmaktadır. Bunlar CAS(Client
DetaylıBilgi ve Olay Yönetim Sistemi
1 Bilgi ve Olay Yönetim Sistemi Kurulum Kılavuzu Ağustos 2017 Versiyon Sürüm 2.2.5 2 İçindekiler Bilgi ve Olay Yönetim Sistemi... 1 1. Sistem Gereksinimleri... 3 2. Kurulum... 3 3. Lisanslama... 7 4. Windows
DetaylıİŞLETİM SİSTEMİ KATMANLARI (Çekirdek, kabuk ve diğer temel kavramlar) Bir işletim sisteminin yazılım tasarımında ele alınması gereken iki önemli konu
İŞLETİM SİSTEMİ KATMANLARI (Çekirdek, kabuk ve diğer temel kavramlar) Bir işletim sisteminin yazılım tasarımında ele alınması gereken iki önemli konu bulunmaktadır; 1. Performans: İşletim sistemi, makine
DetaylıBir 802.1x Kimlik Kanıtlama Uygulaması: EDUROAM
Bir 802.1x Kimlik Kanıtlama Uygulaması: EDUROAM Figen Bozkurt Şule Toker Sunum Planı 802.1x Nedir? EAP ve EAP Türleri RADIUS Nedir? EDUROAM Nedir? 802.1x Nedir? 802.1x
Detaylıwww.smsmakinesi.com destek@hermesiletisim.net COM API v.1.1 BELGE SÜRÜMÜ : 1.1
destek@hermesiletisim.net COM API v.1.1 BELGE SÜRÜMÜ : 1.1 1 1. İÇİNDEKİLER 1. İçindekiler 2 2. Bu Belgenin Amacı 3 3. Kullanım Şekli.3 4. Uyarılar.4 5. Hata Kodları.4 6. Kullanıcı Bilgileri Kontrolü..5
DetaylıBasit bir web uygulaması
AJAX Ahmet Demirelli ahmetdemirelli@sabanciuniv.edu SCJP 5.0, SCWCD 1.4 Sabancı Üniversitesi Bilişim Teknolojileri Yüksek Lisans Programı 3/20/2007 Sabanci University 1 Ajanda Neden AJAX ihtiyacı AJAX
DetaylıMedula Eczane E-Reçete Web Servislerinin Kullanım Kılavuzu (Test amaçlıdır, ödemeye esas teşkil etmeyecektir)
T.C. SOSYAL GÜVENLİK KURUMU Medula Eczane E-Reçete Web Servislerinin Kullanım Kılavuzu (Test amaçlıdır, ödemeye esas teşkil etmeyecektir) Sürüm 1.0 NİSAN 2012 Amaç Hastanelerin ve Aile Hekimliklerinin
DetaylıSpring Application Framework e Giriş
Spring Application Framework e Giriş Ajandamız Spring Nedir? Spring i Öne Çıkaran Özellikler Gelişim Süreci Spring i Oluşturan Modüller ve Spring Mimarisi Spring deki Temel Teknolojiler IoC Container ve
DetaylıBİLGİSAYAR AĞLARI. «Uygulama Katmanı»
BİLGİSAYAR AĞLARI «Uygulama Katmanı» İÇİNDEKİLER TCP/IP ve OSI Modeli TCP/IP Modeli Neden TCP/IP Modeli TCP/IP Modeli (Protokolü)Katmanları OSI Modeli Neden OSI Modeli OSI Modeli Katmanları OSI ve TCP
DetaylıDRAYTEK VIGOR 3300V VPN Dial-in Fonksiyonu
DRAYTEK VIGOR 3300V VPN Dial-in Fonksiyonu Bu bölüm VPN Dial-in fonksiyonunun nasıl ayarlanacağını göstermektedir. Bu bölüm iki kısımdan oluşmuştur. Kısım 11.1: Giriş Kısım 11.2: Örnekler ve web konfigürasyonu
DetaylıBilgi ve İletişim Teknolojileri (JFM 102) Ders 7. LINUX OS (Sistem Yapısı) BİLGİ & İLETİŞİM TEKNOLOJİLERİ. LINUX Yapısı
Ders 7 LINUX OS (Sistem Yapısı) BİLGİ & İLETİŞİM TEKNOLOJİLERİ 1 LINUX Yapısı LINUX işletim sisteminin diğer işletim sistemleri gibi kendine özgü bir yapısı vardır. LINUX yapısı ve bileşenleri aşağıdaki
Detaylı