Magazine. Java Authentication and Authorization Services. Óbudai Egyetem, Java Enterprise Edition Műszaki Informatika szak Labor 11
|
|
- Ákos Vass
- 6 évvel ezelőtt
- Látták:
Átírás
1 Magazine Java Authentication and Authorization Services Óbudai Egyetem, Java Enterprise Edition Műszaki Informatika szak Labor 11 Bedők Dávid v0.6
2 Java Authentication and Authorization Service Authentication can defined as the process to confirm the identity of an user. This can be achieved in a variety of ways, e.g. by entering a password, swiping an ID card, or using a biometrical scanner. The user need not be a human being, but can be a computer process. Authorization can be defined as the process of deciding whether an authenticated user/system is allowed to access a certain resource or perform a certain action or not. A system may have many logical sections/modules, and not all users might have access to all modules. This is where authorization comes into play. Though the user might have authenticated himself, he might not have sufficient authorization to access certain particular data items. JaaS provides a framework and an API for the authentication and authorization of users, whether they're human or automated processes. JaaS implements a Java version of the standard Pluggable Authentication Module (PAM) framework. 2
3 RedHat JBoss 3
4 Architecture LoginModules may prompt for and verify a user name and password. Others may read and verify a voice or fingerprint sample. 4
5 Realm A Realm is a "database" of usernames and passwords that identify valid users of a web application (or set of web applications), plus an enumeration of the list of roles associated with each valid user. A particular user can have any number of roles associated with their username. JDBCRealm - Accesses authentication information stored in a relational database, accessed via a JDBC driver. DataSourceRealm - Accesses authentication information stored in a relational database, accessed via a named JNDI JDBC DataSource. JNDIRealm - Accesses authentication information stored in an LDAP based directory server, accessed via a JNDI provider. MemoryRealm - Accesses authentication information stored in an in-memory object collection, which is initialized from an XML document. JAASRealm - Accesses authentication information through the Java Authentication & Authorization Service (JAAS) framework. 5
6 Mit kell tudnia egy ilyen framework-nek? Webalkalmazás és authentikáció kontextusában Az alkalmazásnak vannak public és vannak protected erőforrásai (weboldalai). A nyílvános elemeket bejelentkezés nélkül el lehet érni (ilyen alapértelmezés szerint a login oldal, de más erőforrások is lehetnek (pl. képek, stílus lapok, vagy akár nem szenzitív adatot tartalmazó lapok), míg a védett elemeket csak sikeres authentikációt követően. Ha egy védett weboldalt meglátogatunk, akkor a framework megnézi authentikálva vagyunk-e, és ha nem, átdob minket a bejelentkező képernyőre (automatikusan). Sikeres bejelentkezést követően az eredetileg meglátogatni kívánt oldalra irányít minket (ez az ún. landing page). 6
7 Mit kell tudnia egy ilyen framework-nek? Webalkalmazás és authorizáció kontextusában Bejelentkezést követően bizonyos műveletek csak bizonyos szerepkörű felhasználók számára érhető el. E védett műveleteket szerepkörökhöz rendeljük, és csak akkor jelennek meg/érhetőek el, ha a bejelentkezett felhasználó a megadott szerepkör birtokában van (authorizáció). Magukat a védett erőforrásokat is köthetjük egy konkrét szerepkörhöz (ez általában egy általános szerepkör, mellyel a legtöbb felhasználó rendelkezik, de pl. egy Admin felületet csak az adminok számára teszünk elérhetővé). Egy elérhető erőforráson belül bizonyos műveleteket teszünk jogosultság/szerepkör függvényében elérhetővé. 7
8 Basic JaaS és JBoss Nem kell saját LoginModule-t készítenünk, választhatunk előre elkészítettek közül, melyeket paraméterek segítségével igényeinkre szabunk. Cél: PostgreSQL-ben tárolt felhasználók/jelszavak/szerepkörök és összerendeléseik használata Konfiguráció: lekérdezések beállítása JBoss számára, melyeket automatikusan használjon authentikáció és authorizáció során Saját webes bejelentkezés készítése (xhtml form based) Védett erőforrások (bejelentkezéshez kötött) és védett műveletek (szerepkörhöz kötött) definiálása 8
9 PostgreSQL lekérdezések naplózása Mivel a lekérdezeket automatikusan a JBoss fogja végrehajtani, fejlesztési szempontból nagyon hasznos ha ezen automatizmus másik oldalán tudjuk naplózni az így végrehajtott lekérdezéseket. Napló file: [PG-HOME]\data\pg_log\postgresql-[YYYY-MM-DD]_[random].log Konfigurációs file: [PG-HOME]\data\postgresql.conf log_statement = 'all' postgresql.conf # none, ddl, mod, all Restart postgresql: Windows service-ek között megtalálható (Stop/Start) > [PG-HOME]/bin/pg_ctl -D [PG-HOME]/data/ restart PG-HOME: c:\program Files\PostgreSQL\[version] (windows) /Library/PostgreSQL/[version] (mac os) 9
10 Feladat Magazinok CRUD művelete köré épített webalkalmazás (a BookStore alkalmazás mintájára). A stílus lapok (css) elérhetőek bárki számára A lekérdező műveletek sikeres bejelentkezés után érhetőek el A módosító műveletek (új magazin, szerkesztés, törlés) kizárólag az magadmin szerepkörrel rendelkező felhasználók számára érhető el, minden más művelet a maguser szerepkörrel elvégezhető (lekérdezések) GIT \jboss\magazine 10
11 Adatbázis oldal Táblák CREATE TABLE magazinecategory (..) CREATE TABLE magazine (..) CREATE TABLE appuser ( appuser_id SERIAL NOT NULL, appuser_name CHARACTER VARYING(100) NOT NULL, appuser_password CHARACTER VARYING(100) NOT NULL, CONSTRAINT PK_APPUSER_ID PRIMARY KEY (appuser_id) ); CREATE TABLE role ( role_id SERIAL NOT NULL, role_name CHARACTER VARYING(100) NOT NULL, CONSTRAINT PK_ROLE_ID PRIMARY KEY (role_id) ); CREATE TABLE userrole ( userrole_id SERIAL NOT NULL, userrole_appuser_id INTEGER NOT NULL, userrole_role_id INTEGER NOT NULL, CONSTRAINT PK_USERROLE_ID PRIMARY KEY (userrole_id), CONSTRAINT FK_USERROLE_USER FOREIGN KEY (userrole_appuser_id) create-schema.sql plaintext jelszó Egy felhasználó tetszőleges szerepkör birtokában lehet. REFERENCES appuser (appuser_id) MATCH SIMPLE ON UPDATE RESTRICT ON DELETE RESTRICT, CONSTRAINT FK_USERROLE_ROLE FOREIGN KEY (userrole_role_id) REFERENCES role (role_id) MATCH SIMPLE ON UPDATE RESTRICT ON DELETE RESTRICT 11
12 Adatbázis oldal Kezdeti adatok INSERT INTO role (role_id, role_name) VALUES (0, 'maguser'); INSERT INTO role (role_id, role_name) VALUES (1, 'magadmin'); initial-data.sql SELECT SETVAL('role_role_id_seq', COALESCE(MAX(role_id), 1) ) FROM role; INSERT INTO appuser (appuser_id, appuser_name, appuser_password) VALUES (0, 'alice', 'a123'); INSERT INTO appuser (appuser_id, appuser_name, appuser_password) VALUES (1, 'bob', 'b123'); INSERT INTO appuser (appuser_id, appuser_name, appuser_password) VALUES (2, 'charlie', 'c123'); SELECT SETVAL('appuser_appuser_id_seq', COALESCE(MAX(appuser_id), 1) ) FROM appuser; INSERT INTO userrole (userrole_appuser_id, userrole_role_id) VALUES (0, 0); INSERT INTO userrole (userrole_appuser_id, userrole_role_id) VALUES (0, 1); INSERT INTO userrole (userrole_appuser_id, userrole_role_id) VALUES (1, 0); INSERT INTO userrole (userrole_appuser_id, userrole_role_id) VALUES (2, 0); Mindhárom felhasználó rendelkezik a maguser szerepkörrel, alice azonban e mellett a magadmin szerepkör birtokában is van. 12
13 JBoss konfiguráció Datasource <subsystem xmlns="urn:jboss:domain:datasources:1.2"> <datasources> <datasource jndi-name=" java:jboss/datasources/magazineds" pool-name="magazinedspool" enabled="true" use-java-context="true"> <connection-url> jdbc:postgresql://localhost:5432/magazinedb</connection-url> <driver>postgresql</driver> <security> <user-name>magazine_user</user-name> <password>123topsecret321</password> </security> <validation> <check-valid-connection-sql>select 1</check-valid-connection-sql> <validate-on-match>true</validate-on-match> <background-validation>false</background-validation> </validation> <statement> <share-prepared-statements>false</share-prepared-statements> </statement> </datasource> </datasources> </subsystem> standalone.xml Ebben semmi újdonság nincs a korábbiakhoz képest. 13
14 JBoss konfiguráció Security-Domain és LoginModule <subsystem xmlns="urn:jboss:domain:security:1.2"> <security-domains> <security-domain name=" mag-security-db-domain"> <authentication> <login-module code=" Database" flag="required"> <module-option name=" dsjndiname" value="java:jboss/datasources/magazineds"/> <module-option name=" principalsquery" value="select appuser_password FROM appuser WHERE appuser_name =?"/> <module-option name=" rolesquery" value="select role_name, 'Roles' FROM userrole INNER JOIN appuser ON (appuser_id = userrole_appuser_id) INNER JOIN role ON (role_id = userrole_role_id) WHERE appuser_name =?"/> </login-module> </authentication> </security-domain> </security-domains> </subsystem> standalone.xml Datasource JNDI neve! A Security-Domain JNDI neve java:/jaas/ mag-security-db-domain lesz. A LoginModule code mezőnek konstansa mögött (Database) egy osztály van, mely megadása ugyanolyan jó (pl. UserRoles esetén org.jboss.security.auth.spi.usersrolesloginmodule, Database esetén pedig org.jboss.security.auth.spi.databaseserverloginmodule. 14
15 Control Flag Multiple Login Module! <login-module code="..." flag=" required">...</login-module> required: The login module is required to succeed for the authentication to be successful. If any required module fails, the authentication will fail. The remaining login modules in the stack will be called regardless of the outcome of the authentication. requisite: The login module is required to succeed. If it succeeds, authentication continues down the login stack. If it fails, control immediately returns to the application. sufficient: The login module is not required to succeed. If it does succeed, control immediately returns to the application. If it fails, authentication continues down the login stack. optional: The login module is not required to succeed. Authentication still continues to proceed down the login stack regardless of whether the login module succeeds or fails. Pl.: Ha különféle képpen is be lehet lépni az alkalmazásba (de mindegyik elégséges), akkor két sufficient login module-t kell felvinni a security-domain alá. 15
16 SQL Konfiguráció principalsquery SELECT appuser_password FROM appuser WHERE appuser_name =? The prepared statement query equivalent to: select Password from Principals where PrincipalID=?. If not specified this is the exact prepared statement that will be used. SELECT role_name, 'Roles' FROM userrole INNER JOIN appuser ON rolesquery Value of RoleGroup column always has to be Roles (with capital 'R'). This is specific to JBoss. (appuser_id = userrole_appuser_id) INNER JOIN role ON (role_id = userrole_role_id) WHERE appuser_name =? The prepared statement query equivalent to: select Role, RoleGroup from Roles where PrincipalID=?. If not specified this is the exact prepared statement that will be used. 16
17 JBoss konfiguráció Realm és Naplózás <management> <security-realms> <security-realm name=" mag-realm"> <authentication> <jaas name=" mag-security-db-domain"/> </authentication> </security-realm> </security-realms> </management>... <profile>... <subsystem xmlns="urn:jboss:domain:logging:1.5">... <logger category=" org.jboss.security"> <level name=" TRACE"/> </logger>... </subsystem> </profile> Security-Domain neve! standalone.xml A folyamattal kapcsolatos történesek naplózása (nem általunk implementált kód). 17
18 Webalkalmazás felkészítése Login oldal készítése Űrlap egy név és egy jelszó mezővel LoginError oldal készítése Sikertelen bejelentkezést követően ez töltődik be Általában visszadobjuk a Login oldalra egy hibaüzenet kíséretében (vagy a megjelenő oldalról link segítségével lehet a Login oldalt ismét betölteni) Logout oldal készítése A bejelentkezett felhasználó kiléptetése a rendszerből. Általában cél a Login page-ra való visszadobás sikeres kijelentkeztetés esetén Error oldal(ak) készítése Minden egyéb Security hiba során betöltődő oldal(ak). 18
19 Login page (servlet side) /Login") public class LoginServlet extends HttpServlet implements LoginAttribute protected void doget(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { request.setattribute(attr_username, ""); request.setattribute(attr_error, ""); final RequestDispatcher view = request.getrequestdispatcher( "login.jsp"); view.forward(request, response); } } Az ATTR_USERNAME és az ATTR_ERROR attribútumokban a Login page-en beírt felhasználó név, és az esetleges hibaüzenet szövegét tároljuk. A login.jsp dolgozza fel őket, hibás authentikáció esetén fogjuk tölteni az értéküket. 19
20 Login page (jsp side).. <link rel="stylesheet" type="text/css" href=" style/page.css" />.. <% String username = (String) request.getattribute(loginattribute.attr_username); String errormessage = (String) request.getattribute(loginattribute.attr_error); %> <form action=" j_security_check" method="post"> <legend>login</legend> <div class="error"><%= errormessage %></div> <label for="username">username: </label> <input type="text" name=" j_username" id="username" value="<%= username >" /> <label for="password">password: </label> <input type="password" name=" j_password" id="password" /> <input type="submit" name="submit" value="login" /> </form>.. Ha van hibaüzenet (errormessage ), illetve már korábban beírt felhasználónév (username), akkor ezeket megjelenítjük a login oldalon (hibás authentikáció utáni újratöltés esete lesz). login.jsp Public resource! A j_* elnevezések (servlet url/action és az űrlap felhasználónév és jelszó mezőjének nevei) az API által előírtak, ebben a formában kell őket alkalmazni. 20
21 LoginError page (servlet side) /LoginError") public class LoginErrorServlet extends HttpServlet implements LoginAttribute protected void dopost(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { final String username = request.getparameter(" j_username"); request.setattribute(attr_username, username); request.setattribute(attr_error, " Login failed"); Hibaüzenet } final RequestDispatcher view = request.getrequestdispatcher( "login.jsp"); view.forward(request, response); } Hiba esetén a j_security_check servlet átdobja a kérést a loginerror page-re. A kérésből kikérhetük az űrlap mezőit (jelen esetben a nevet kikérjük, hogy át tudjuk adni a login.jsp-nek). 21
22 Logout page (servlet /Logout") public class LogoutServlet extends HttpServlet { protected void doget(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { response.setheader("cache-control", "no-cache, no-store"); response.setheader("pragma", "no-cache"); response.setheader("expires", new java.util.date().tostring()); if (request.getsession( false)!= null) { request.getsession( false).invalidate(); } } } if (request.getsession()!= null) { request.getsession().invalidate(); } request.logout(); response.sendredirect(page.list.geturl()); Az itt leírt megoldás egyfajta best practice. A Redirect a servlet végén bármely védett oldalra mutathat. Ha sikeres volt a kijelentkeztetése a felhasználónak, a védett URL betöltése ki fogja váltani a Login page betöltését. 22
23 Error /Error") public class ErrorServlet extends HttpServlet { protected void doget(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { final RequestDispatcher view = request.getrequestdispatcher( "error.jsp"); view.forward(request, response); } Security-vel kapcsolatos hibák esetén definiálhatóak Error } page-ek (akár több is), melyek pl. HTTP hibakódokhoz lesznek köthetőek. <%@ page language="java" contenttype="text/html; charset=utf-8" pageencoding="utf-8" %>.. <meta http-equiv="content-type" content="text/html; charset=utf-8"> <link rel="stylesheet" type="text/css" href="style/page.css" /> <title>:: Error ::</title> </head> <body>error</body> </html> error.jsp 23
24 Webalkalmazás konfiguráció Védett erőforrások <web-app...> <security-constraint> <display-name>magazine protected security constraint</display-name> <web-resource-collection> <web-resource-name>protected Area</web-resource-name> <url-pattern> /*</url-pattern> <http-method>get</http-method> <http-method>post</http-method> <http-method>put</http-method> <http-method>delete</http-method> <http-method>head</http-method> <http-method>options</http-method> <http-method>trace</http-method> </web-resource-collection> <auth-constraint> <role-name> maguser</role-name> <role-name> magadmin</role-name> </auth-constraint> <user-data-constraint> <transport-guarantee>none</transport-guarantee> </user-data-constraint> </security-constraint> </web-app> WEB-INF/web.xml Minden oldal (minden HTTP method esetén) védett területen van (kivéve majd az, melyet nyitottá teszünk). Az oldalak maguser vagy magadmin szerepkör birtokában érhetőek el. Az adatbázisban is szerepelnek ezek a szerepkörök. 24
25 Webalkalmazás konfiguráció Nyilvános erőforrások <web-app...>... <security-constraint> <display-name>magazine public security constraint</display-name> <web-resource-collection> <web-resource-name>public</web-resource-name> <url-pattern> /style/*</url-pattern> <url-pattern> /Logout</url-pattern> <http-method>get</http-method> </web-resource-collection> </security-constraint>... </web-app> WEB-INF/web.xml A stílus lapok lekérése és a kijelentkező servlet elérhető bejelentkezés nélkül is. A Login page alapértelmezés szerint elérhető, viszont az általa hivatkozott stílus lapot már nyitottá kell tenni. 25
26 Webalkalmazás konfiguráció Login config és Security roles <web-app...> <login-config> <auth-method> FORM</auth-method> <form-login-config> <form-login-page> /Login</form-login-page> <form-error-page> /LoginError</form-error-page> </form-login-config> </login-config> <security-role> <description>generic user</description> <role-name> maguser</role-name> </security-role> <security-role> <description>administrator</description> <role-name> magadmin</role-name> </security-role> <error-page> <error-code>403</error-code> <location>/error</location> </error-page> </web-app> WEB-INF/web.xml Az authentikáció formája többféle lehet. Saját űrlap készítése esetén (leggyakoribb) a FORM a helyes érték, de lehet még BASIC, DIGEST és CLIENT-CERT is. Az űrlap authentikáció konfigja a Login page (form-login-page ) és a LoginError page (form-error-page ) megadásából áll. Ide a servlet url pattern-jét kell megadni (JSP esetén ez a JSP neve). Az elérhető szerepköröket is fel kell sorolni a security-role element segítségével. HTTP 403-mas (Forbidden) status code esetén megadott hibaoldal. 26
27 Webalkalmazás konfiguráció Auth methods <web-app...>... <login-config> <auth-method> BASIC</auth-method> <realm-name> mag-realm</realm-name> JBoss kapcsolat Realm! </login-config>... </web-app> BASIC authentikáció: böngésző beépített login ablakot dob fel (~javascript), melyen a felhasználónév és a jelszó megadható BASIC auth method esetén megadható a realm neve a web.xml-ben, azonban jboss esetén ekkor is használható a jboss-web.xml, ahol a Security Domain JNDI nevének a megadása szükséges WEB-INF/web.xml Figyelem! Ez a web.xml minta NEM a Magazine project-hez tartozik. 27
28 Webalkalmazás konfiguráció JBoss specifikus konfiguráció WEB-INF/jboss-web.xml <?xml version="1.0" encoding="utf-8"?> <jboss-web> <security-domain>java:/jaas/mag-security-db-domain</security-domain> </jboss-web> A JBoss standalone.xml -ben beállított security-domain JNDI neve. 28
29 Webalkalmazás és JBoss konfigurációk kapcsolata Webalkalmazás leírója (web.xml) hivatkozhat a JBoss standalone.xml mag-realm nevű security-realm-re*. A security-realm hivatkozik a mag-security-db-domain nevű security-domain-re (standalone.xml-en belül). A webalkalmazás JBoss specifikus leírója (jboss-web.xml) közvetlenül is hivatkozik a JBoss standalone.xml mag-security-db-domain nevű security-domain nevére (JNDI név alapján) (ez egyébként szükséges és elégséges konfiguráció JBoss esetén). A mag-security-db-domain tartalmazza a Database login module konfigurációját, melyen keresztül a fizikai adatbázis (DataSource JNDI neve) és az azon végrehajtandó natív lekérdezések is elérhetőek. * BASIC auth method esetén 29
30 Webalkalmazás authorizáció Role-Based Access Control protected void doget(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException {... if ( request.isuserinrole(" magadmin") ) {... }... } list.jsp <% if (request.isuserinrole(" magadmin")) { %> <div> <a href="magazine?reference=-1&edit=1">create</a> a brand new magazine. </div> <% } %> 30
31 EJB module konfiguráció mag-ejbservice project <?xml version="1.0" encoding="utf-8"?> <jboss:ejb-jar xmlns=" xmlns:jboss=" xmlns:xsi=" xmlns:s="urn:security:1.1" version="3.1" impl-version="2.0"> META-INF/jboss-ejb3.xml <assembly-descriptor> <s:security> <ejb-name>*</ejb-name> <s:security-domain> mag-security-db-domain</s:security-domain> </s:security> </assembly-descriptor> </jboss:ejb-jar> Ha minden jogosultság ellenőrzés nélkül minden EJB metódus hívható, akkor nincs szükség a konfigurációra! Hasonlóan a Webalkalmazás jboss-web.xml leírójához, ha az EJB module projektekben is szeretnék Role-Based Access Control-t (RBAC) használni, akkor meg kell adnunk a security-domain nevét a jboss-ejb3.xml leíróban (ebben a file-ban nem a JNDI név kell). 31
32 EJB module authorizáció Role-Based = "ejb/magazinefacade") public class MagazineFacadeImpl implements MagazineFacade {... magadmin") public void removemagazine( final String reference) throws FacadeException { try { this.service.delete(reference); } catch (final PersistenceServiceException e) { LOGGER.error(e, e); throw new FacadeException(e.getLocalizedMessage()); } minden szerepkör számára elérhető Ha konfigurálva van a security-domain, akkor alapértelmezés szerint egyik metódus sem hívható meg, vagyis muszáj a jogosultságot megadni (ezt lehet xml szinten magadmin") " magadmin", "maguser" }): a megadott vagy felsorolt szerepkörök számára elérhető Osztály szinten: minden metódusra érvényes 32
33 Oracle WebLogic 33
34 Azonos koncepció, apró különbségek dd*: deployment descriptor JBoss WebLogic web module container specifikus dd* ejb module container specifikus dd* security role nevére nézett ismert limitációk security role security realm-ekre nézett ismert limitációk elnevezésbeli különbség hivatkozás alkalmazásból weblogic-ejb-jar.xml jboss-ejb3.xml az application role megegyezik a security role-lal Tetszőleges számú security realm is létezhet egyidőben. Login Module with Control Flag a Security Domain JNDI vagy rövid nevére weblogic.xml jboss-web.xml Kötőjelek (hyphens) használata esetén az Admin Console-ról nem kezelhető az application role logikailag szétválik a security role-tól Több lehet, de kizárólag egy lehet aktív (az inaktív semmire sem használható! Authentication Provider with Control Flag Nincs hivatkozás Security Realm-re (kizárólag az egyetlen aktív használható). 34
35 Application Role vs. Security Role Az Application Role logikailag szétválik a Security Role-tól Pl. egy Application Role-hoz egy vagy több User, vagy egy vagy több Security Role tartozhat. Az összerendelés megadása azonban kötelező a container specifikus deployment descriptorban (különben nem lesz kapcsolat a Security Realm-el). <security-role-assignment> <role-name>abc</role-name> <principal-name>xyz</principal-name> <principal-name>etc</principal-name> </security-role-assignment> ABC: Application Role (web.xml-ben és Java kódban használt szerepkör. XYZ és ETC: Security Role (ajánlott) vagy Security User neve, mely a Security Realm-ben van konfigurálva. WEB-INF/weblogic.xml <weblogic-web-app...> <security-role-assignment>... </security-role-assignment> <security-role-assignment>... </security-role-assignment> </weblogic-web-app> web module META-INF/weblogic-ejb-jar.xml <weblogic-ejb-jar...> <security-role-assignment>... </security-role-assignment> <security-role-assignment>... </security-role-assignment> </weblogic-ejb-jar> ejb module 35
36 Logine Module vs. Authentication Provider Logine Module JBoss Több Login Module létezhet egy Security Domain alatt. A Security Realm kötődhet egy Security Domain-hez (és visszafelé is igaz ez). A Security Realm leginkább remote elérés esetén használatos. Authentication Provider WebLogic Több Authentication Provider létezhet egy Security Realm alatt. Security Domain elnevezés nem jelenik meg WebLogic esetén. Az alapértelmezett myrealm Security Realm-hez fogunk tudni felvenni egy olyan Authentication Provider-t, mely saját adatbázis alapján authentikál. Ezt, és az eredetileg is itt lévő DefaultAuthenticator Control Flag-jét átállítjuk SUFFICIENT-re (eredetileg REQUIRED). 36
37 DataSource konfigurálása WebLogic Server Administration Console Services Data Sources Configuration tab New Generic Data Source Name: magazineds JNDI name: jdbc/datasource/magazineds Target: myserver Database type: PostgreSQL Next, Next.. Database name: magazinedb Host name: localhost Port: 5432 (default) Database user name: magazine_user Password: 123topSECret321 Ismétlés.. 37
38 Security Realm konfigurálása WebLogic Server Administration Console Security Realms myrealm kiválasztása Providers tab New Name: magazineauthenticator Type: SQLAuthenticator magazineauthenticator kiválasztása Configuration tab Common tab Control Flag: SUFFICIENT Save Configuration tab Provider Specific tab Plaintext Passwords Enabled (checked) Data Source Name: magazineds Password Style Retained (checked) Descriptions Supported (unchecked) SQL Queries (folyt. köv) 38
39 SQL Queries I. SQL Get Users Password (JBoss: principalsquery) SELECT appuser_password FROM appuser WHERE appuser_name =? SQL Set User Password UPDATE appuser SET appuser_password =? WHERE appuser_name =? SQL User Exists SELECT appuser_name FROM appuser WHERE appuser_name =? SQL List Users SELECT appuser_name FROM appuser WHERE appuser_name LIKE? SQL Create User INSERT INTO appuser (appuser_id, appuser_name, appuser_password) VALUES (?,?,?) SQL Remove User DELETE FROM appuser WHERE appuser_name =? SQL List Groups SELECT role_name FROM role WHERE role_name LIKE? SQL Group Exists SELECT role_name FROM role WHERE role_name =? SQL Create Group INSERT INTO role (role_id, role_name) VALUES (?,?) SQL Remove Group DELETE FROM role WHERE role_name =? SQL Is Member SELECT appuser_name FROM userrole INNER JOIN appuser ON ( appuser_id = userrole_appuser_id ) INNER JOIN role ON ( role_id = userrole_role_id ) WHERE appuser_name =? AND role_name =? 39
40 SQL Queries II. SQL List Member Groups (JBoss: rolesquery, RoleGroup nélkül) SQL List Group Members SQL Remove Group Memberships SQL Add Member To Group SQL Remove Member From Group SQL Remove Group Member SELECT role_name FROM userrole INNER JOIN appuser ON ( appuser_id = userrole_appuser_id ) INNER JOIN role ON ( role_id = userrole_role_id ) WHERE appuser_name =? SELECT appuser_name FROM userrole INNER JOIN appuser ON ( appuser_id = userrole_appuser_id ) INNER JOIN role ON ( role_id = userrole_role_id ) WHERE appuser_name LIKE? AND role_name =? DELETE FROM userrole WHERE userrole_role_id = ( SELECT role_id FROM role WHERE role_name =? ) AND userrole_appuser_id = ( SELECT appuser_id FROM appuser WHERE appuser_name =? ) INSERT INTO userrole (userrole_appuser_id, userrole_role_id) VALUES (?,?) DELETE FROM userrole WHERE userrole_role_id = ( SELECT role_id FROM role WHERE role_name =? ) AND userrole_appuser_id = ( SELECT appuser_id FROM appuser WHERE appuser_name =? ) DELETE FROM userrole WHERE userrole_role_id = ( SELECT role_id FROM role WHERE role_name =? ) Description specifikus lekérdezések Kikapcsoltuk a description használatát.. 40
41 Alice sikeres bejelentkezése SELECT appuser_password FROM appuser WHERE appuser_name = 'alice'; SELECT role_name FROM userrole INNER JOIN appuser ON ( appuser_id = userrole_appuser_id ) INNER JOIN role ON ( role_id = userrole_role_id ) WHERE appuser_name = 'alice'; SELECT role_name FROM userrole INNER JOIN appuser ON ( appuser_id = userrole_appuser_id ) INNER JOIN role ON ( role_id = userrole_role_id ) WHERE appuser_name = 'maguser'; SELECT role_name Lefut a principal name-ekre nézve is (weblogic.xml), lévén ezek lehetnek Security Role-ok és User-ek is! FROM userrole INNER JOIN appuser ON ( appuser_id = userrole_appuser_id ) INNER JOIN role ON ( role_id = userrole_role_id ) WHERE appuser_name = 'magadmin'; 41
42 Security Realm ellenőrzése Server restart WebLogic Server Administration Console Security Realms myrealm kiválasztása Users and Groups tab Users tab Name Provider Groups tab alice bob charlie weblogic magazineauthenticator magazineauthenticator magazineauthenticator DefaultAuthenticator Name Provider oeadmin magazineauthenticator oeuser magazineauthenticator... DefaultAuthenticator alice kiválasztása után a Groups tabon láthatóvá válnak a Security Role összerendelései is, miszerint oeadmin és oeuser szerepkörökkel rendelkezik 42
43 Magazine project módosításai Log4j lecserélése Java Logging-ra Hibernate dependency lecserélése Eclipselink-re Logout Servlet-ben a request.logout() kitörlése NullPointerException-t dob (ismert hiba) mag-user és mag-admin Application Role-ok használata maguser és magadmin helyett list.jsp magazine.jsp MagazineFacadeImpl jboss-web.xml helyett weblogic.xml jboss-ejb3.xml helyett weblogic-ejb-jar.xml *.jsp <% if (request.isuserinrole("mag-admin")) { %>... <% } %> public void removemagazine(...)... {... } 43
44 Web module konfiguráció mag-weblayer project WEB-INF/web.xml <web-app version="3.0" xmlns=" xmlns:xsi=" xsi:schemalocation=" <security-constraint> <display-name>magazine protected security constraint</display-name>... <auth-constraint> <role-name>mag-user</role-name> <role-name>mag-admin</role-name> Application Role </auth-constraint>... </security-constraint>... <security-role> <description>generic user</description> <role-name>mag-user</role-name> </security-role> <security-role> <description>administrator</description> <role-name>mag-admin</role-name> </security-role>... </web-app> 44
45 Web module konfiguráció mag-weblayer project <?xml version='1.0' encoding='utf-8'?> <weblogic-web-app xmlns=" xmlns:xsi=" <security-role-assignment> <role-name> mag-user</role-name> <principal-name> maguser</principal-name> </security-role-assignment> <security-role-assignment> <role-name> mag-admin</role-name> <principal-name> magadmin</principal-name> </security-role-assignment> </weblogic-web-app> WEB-INF/weblogic.xml Application Role: mag-user és mag-admin Security Role: maguser és magadmin (ezek vannak adatbázisban) 45
46 EJB module konfiguráció mag-ejbservice project <?xml version="1.0" encoding="utf-8"?> <weblogic-ejb-jar xmlns=" xmlns:j2ee=" xmlns:xsi=" xsi:schemalocation=" <security-role-assignment> <role-name> mag-user</role-name> <principal-name> maguser</principal-name> </security-role-assignment> <security-role-assignment> <role-name> mag-admin</role-name> <principal-name> magadmin</principal-name> </security-role-assignment> META-INF/weblogic-ejb-jar.xml </weblogic-ejb-jar> Kizárólag a root tag-ben tér el a weblogic.xml-től. 46
Magazine () Java Authentication and Authorization Service. Óbudai Egyetem, Java Enterprise Edition Műszaki Informatika szak Labor 7.
Magazine Java Authentication and Authorization Service Óbudai Egyetem, Java Enterprise Edition Műszaki Informatika szak Labor 7 Bedők Dávid 2018-02-11 v1.0 Bedők Dávid (UNI-OBUDA) Magazine () 2018-02-11
Biztonság java web alkalmazásokban
Biztonság java web alkalmazásokban Webalkalmazások fejlesztése tananyag Krizsán Zoltán 1 [2012. május 9.] 1 Általános Informatikai Tanszék Miskolci Egyetem 2012. május 9. Krizsán Zoltán [2012. május 9.]
Adatbázisok webalkalmazásokban
Sapientia - EMTE, Pannon Forrás,,Egységes erdélyi felnőttképzés a Kárpát-medencei hálózatban 2010 A JDBC API A Data Access Object tervezési minta Adatforrás - DataSource JDBC architektúra A JDBC API java.sql
Hello World Servlet. Készítsünk egy szervletet, amellyel összeadhatunk két számot, és meghívásakor üdvözlőszöveget ír a konzolra.
Hello World Servlet Készítsünk egy szervletet, amellyel összeadhatunk két számot, és meghívásakor üdvözlőszöveget ír a konzolra. Hozzunk létre egy Dynamic Web projectet File New Other itt a következőket
10. Gyakorlat: Alkalmazások publikálása Remote Desktop Szervízen keresztül
10. Gyakorlat: Alkalmazások publikálása Remote Desktop Szervízen keresztül 10.1. Jogosultságok és csoportok létrehozása 10.2. Az RDS szerver szerepkör telepítése a DC01-es szerverre 10.3. Az RDS01-es szerver
JEE tutorial. Zsíros Levente, 2012
JEE tutorial Zsíros Levente, 2012 A J2EE részei Webkonténer Szervletek JSP oldalak EJB (Enterprise Java Bean) konténer Session Bean Entity Bean (Java Persistence API-t használják) A Glassfish és JBoss
JavaServer Pages (JSP) (folytatás)
JavaServer Pages (JSP) (folytatás) MVC architektúra a Java kiszolgálón Ügyfél (Böngésző) 5 View elküldi az oldal az ügyfélez View (JSP) Ügyfél üzenet küldése a vezérlőnek 1 3 4 Kérelem továbbítása a megjelenítőnek
4. Gyakorlat: Csoportházirend beállítások
4. Gyakorlat: Csoportházirend beállítások 4.1. A Default Domain Policy jelszóra vonatkozó beállításai 4.2. Parancsikon, mappa és hálózati meghajtó megjelenítése csoport házirend segítségével 4.3. Alkalmazások
Symfony kurzus 2014/2015 I. félév. Security: authentication, authorization, user provider, role-ok, access control, FOS user bundle
Symfony kurzus 2014/2015 I. félév Security: authentication, authorization, user provider, role-ok, access control, FOS user bundle Authen'ca'on Ez még csak azt dönti el, hogy a rendszer által azonosítóható-e
8. Gyakorlat SQL. DDL (Data Definition Language) adatdefiníciós nyelv utasításai:
8. Gyakorlat SQL SQL: Structured Query Language; a relációs adatbáziskezelők szabványos, strukturált lekérdező nyelve SQL szabványok: SQL86, SQL89, SQL92, SQL99, SQL3 Az SQL utasításokat mindig pontosvessző
Adatbázis-kezelés ODBC driverrel
ADATBÁZIS-KEZELÉS ODBC DRIVERREL... 1 ODBC: OPEN DATABASE CONNECTIVITY (NYÍLT ADATBÁZIS KAPCSOLÁS)... 1 AZ ODBC FELÉPÍTÉSE... 2 ADATBÁZIS REGISZTRÁCIÓ... 2 PROJEKT LÉTREHOZÁSA... 3 A GENERÁLT PROJEKT FELÉPÍTÉSE...
1. Gyakorlat: Telepítés: Windows Server 2008 R2 Enterprise, Core, Windows 7
1. Gyakorlat: Telepítés: Windows Server 2008 R2 Enterprise, Core, Windows 7 1.1. Új virtuális gép és Windows Server 2008 R2 Enterprise alap lemez létrehozása 1.2. A differenciális lemezek és a két új virtuális
Web-fejlesztés NGM_IN002_1
Web-fejlesztés NGM_IN002_1 Dinamikus tartalom 3. Template feldolgozás Template feldolgozás Statikus (HTML) fájlok dinamikus tartalom beszúrással (speciális tagek) Template processzor PHP Cold Fusion ASP
Bevezető. Servlet alapgondolatok
A Java servlet technológia Fabók Zsolt Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem Utolsó módosítás: 2008. 03. 06. Servlet Bevezető Igény a dinamikus WEB tartalmakra Előzmény: CGI Sokáig
Csatlakozás a BME eduroam hálózatához Setting up the BUTE eduroam network
Csatlakozás a BME eduroam hálózatához Setting up the BUTE eduroam network Table of Contents Windows 7... 2 Windows 8... 6 Windows Phone... 11 Android... 12 iphone... 14 Linux (Debian)... 20 Sebők Márton
ADATBÁZIS-KEZELÉS - BEVEZETŐ - Tarcsi Ádám, ade@inf.elte.hu
ADATBÁZIS-KEZELÉS - BEVEZETŐ - Tarcsi Ádám, ade@inf.elte.hu Számonkérés 2 Papíros (90 perces) zh az utolsó gyakorlaton. Segédanyag nem használható Tematika 1. félév 3 Óra Dátum Gyakorlat 1. 2010.09.28.
Stateless Session Bean
Stateless Session Bean Készítsünk egy stateless session bean-t, amellyel összeadhatunk két számot. Hozzunk létre egy Dynamic Web projectet File New Other itt a következőket kell választani: Web Dynamic
MVC Java EE Java EE Kliensek JavaBeanek Java EE komponensek Web-alkalmazások Fejlesztői környezet. Java Web technológiák
Java Web technológiák Bevezetés Áttekintés Model View Controller (MVC) elv Java EE Java alapú Web alkalmazások Áttekintés Model View Controller (MVC) elv Java EE Java alapú Web alkalmazások Áttekintés
API tervezése mobil környezetbe. gyakorlat
API tervezése mobil környezetbe gyakorlat Feladat Szenzoradatokat gyűjtő rendszer Mobil klienssel Webes adminisztrációs felület API felhasználói Szenzor node Egyirányú adatküldés Kis számítási kapacitás
SQLServer. Védelmi struktúra
SQLServer 4. téma DBMS védelem konfiguráció Védelmi struktúra -szintek: - mit tudsz -jelszó - mid van -kártya - ki vagy -bimetria - Authentikáció - Authorizáció - Audit Védelmi modellek - DAC - MAC 1 -
CREATE TABLE student ( id int NOT NULL GENERATED ALWAYS AS IDENTITY PRIMARY KEY, name varchar(100) NOT NULL, address varchar(100) NOT NULL )
Célok: a Java DB adatbázis-kezelő rendszer használatának ismertetése, adatbázisok használata Java alkalmazásokban - kétrétegű architektúra, egyszerű kliens-szerver architektúra használata hálózati alkalmazásokhoz.
JAVA webes alkalmazások
JAVA webes alkalmazások Java Enterprise Edition a JEE-t egy specifikáció definiálja, ami de facto szabványnak tekinthető, egy ennek megfelelő Java EE alkalmazásszerver kezeli a telepített komponensek tranzakcióit,
11. Gyakorlat: Certificate Authority (CA), FTP site-ok
11. Gyakorlat: Certificate Authority (CA), FTP site-ok 11.1. A CA szerver szerepkör telepítése a DC01-es szerverre 11.2. Az FTP szervíz telepítése a DC01-es szerverre 11.3. A szükséges DNS rekordok létrehozása
KÜRT Zrt. Logelemzés heti riport Felhasználói fiók, illetve felhasználói csoportkezelési műveletek
KÜRT Zrt. Logelemzés heti riport Felhasználói fiók, illetve felhasználói csoportkezelési műveletek KÜRT Zrt. 2/9 1. A DOKUMENTUM ADATLAPJA Ez a dokumentum a SeConical rendszer Logdrill moduljában került
Bevezetés: az SQL-be
Bevezetés: az SQL-be Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 2.3. Relációsémák definiálása SQL-ben, adattípusok, kulcsok megadása 02B_BevSQLsemak
Adattípusok. Max. 2GByte
Adattípusok Típus Méret Megjegyzés Konstans BIT 1 bit TRUE/FALSE SMALLINT 2 byte -123 INTEGER 4 byte -123 COUNTER 4 byte Automatikus 123 REAL 4 byte -12.34E-2 FLOAT 8 byte -12.34E-2 CURRENCY / MONEY 8
OO PDO. Tehát PDO használatával, könnyen átállhatunk egy másik adatbáziskezelőre, anélkül hogy a kódot teljes egészében újraírnánk.
OO PDO PDO VS MYSQLi VS MYSQL ================================================================================ A PHP mysql metódusai elavultak, helyette lehet hazsnálni a MYSQLi metódusokat, amelyek szinte
Adattípusok. Max. 2GByte
Adattípusok Típus Méret Megjegyzés Konstans BIT 1 bit TRUE/FALSE TINIINT 1 byte 12 SMALLINT 2 byte -123 INTEGER 4 byte -123 COUNTER 4 byte Automatikus 123 REAL 4 byte -12.34E-2 FLOAT 8 byte -12.34E-2 CURRENCY
Széchenyi István Egyetem www.sze.hu/~herno
Oldal: 1/6 A feladat során megismerkedünk a C# és a LabVIEW összekapcsolásának egy lehetőségével, pontosabban nagyon egyszerű C#- ban írt kódból fordítunk DLL-t, amit meghívunk LabVIEW-ból. Az eljárás
Adatbányászat és Perszonalizáció architektúra
Adatbányászat és Perszonalizáció architektúra Oracle9i Teljes e-üzleti intelligencia infrastruktúra Oracle9i Database Integrált üzleti intelligencia szerver Data Warehouse ETL OLAP Data Mining M e t a
WCF, Entity Framework, ASP.NET, WPF 1. WCF service-t (adatbázissal Entity Framework) 2. ASP.NET kliens 3. WPF kliens
WCF, Entity Framework, ASP.NET, WPF 1. WCF service-t (adatbázissal Entity Framework) 2. ASP.NET kliens 3. WPF kliens Hozzunk létre egy ASP.NET Empty Web Site projektet! A projekt neve legyen WCFAPP1. Ez
Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem
A Java EE 5 platform Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem Utolsó módosítás: 2008. 04. 17. A Java EE 5 platform A Java EE 5 plattform A J2EE 1.4 után következő verzió. Alapvető továbbfejlesztési
SOPHOS simple + secure. A dobozba rejtett biztonság UTM 9. Kókai Gábor - Sophos Advanced Engineer Balogh Viktor - Sophos Architect SOPHOS
SOPHOS simple + secure A dobozba rejtett biztonság UTM 9 Kókai Gábor - Sophos Advanced Engineer Balogh Viktor - Sophos Architect SOPHOS SOPHOS simple + secure Megint egy UTM? Egy újabb tűzfal extrákkal?
Teszt topológia E1/1 E1/0 SW1 E1/0 E1/0 SW3 SW2. Kuris Ferenc - [HUN] Cisco Blog -
VTP Teszt topológia E1/1 E1/0 SW1 E1/0 E1/0 SW2 SW3 2 Alap konfiguráció SW1-2-3 conf t interface e1/0 switchport trunk encapsulation dot1q switchport mode trunk vtp domain CCIE vtp mode transparent vtp
Szervlet-JSP együttműködés
Java programozási nyelv 2007-2008/ősz 10. óra Szervlet-JSP együttműködés Kérés továbbítás technikái legradi.gabor@nik.bmf.hu szenasi.sandor@nik.bmf.hu Szervlet-JSP együttműködés Témakörök Osztálykönyvtár
WEBFEJLESZTÉS 2. ADATBÁZIS-KEZELÉS, OSZTÁLYOK
WEBFEJLESZTÉS 2. ADATBÁZIS-KEZELÉS, OSZTÁLYOK Horváth Győző Egyetemi adjunktus 1117 Budapest, Pázmány Péter sétány 1/C, 2.420 Tel: (1) 372-2500/1816 2 Ismétlés Ismétlés 3 Fájl/Adatbázis 3 4 Szerver 2 CGI
Webapp (in)security. Gyakori hibákról és azok kivédéséről fejlesztőknek és üzemeltetőknek egyaránt. Veres-Szentkirályi András
Webapp (in)security Gyakori hibákról és azok kivédéséről fejlesztőknek és üzemeltetőknek egyaránt Veres-Szentkirályi András Rövid áttekintés Webalkalmazások fejlesztése során elkövetett leggyakoribb hibák
Adatbázis rendszerek II. Adatbázis elérése C# kliens programból ADO.NET API-n keresztül
Adatbázis rendszerek II. Adatbázis elérése C# kliens programból ADO.NET API-n keresztül Adatbázis elérés lehetőségei absztrakciós rétegen keresztül: - Open DataBase Connectivity (ODBC), közös függvényhalmaz,
IBM WebSphere Adapters 7. változat 5. alváltozat. IBM WebSphere Adapter for Oracle E-Business Suite felhasználói kézikönyv 7. változat 5.
IBM WebSphere Adapters 7. változat 5. alváltozat IBM WebSphere Adapter for Oracle E-Business Suite felhasználói kézikönyv 7. változat 5.kiadás IBM WebSphere Adapters 7. változat 5. alváltozat IBM WebSphere
JNDI - alapok. Java Naming and Directory Interface
JNDI - alapok Java Naming and Directory Interface Naming Service Naming service: nevek hozzárendelése objektumokhoz, elérési lehetőség (objektumok/szolgáltatások lokalizálása), információk központosított
SQL. 1.rész. 1.elıadás // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 1
SQL 1.rész 1.elıadás // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 1 SQL története, szabványok Szabvány adatbázis-kezelő nyelv: SQL SQL (angol kiejtésben
Vizuális programozás gyakorlat
Vizuális programozás gyakorlat A gyakorlat célja az entitás modell készítésének és az MS SQLEXPRESS használatának gyakorlása. A gyakorlat során egy könyvtári szoftver adatmodelljét tervezzük meg, valamint
Symfony kurzus 2014/2015 I. félév. Controller, Routing
Symfony kurzus 2014/2015 I. félév Controller, Routing Request - Response GET / HTTP/1.1 Host: xkcd.com Accept: text/html User-Agent: Mozilla/5.0 (Macintosh) HTTP/1.1 200 OK Date: Sat, 02 Apr 2011 21:05:05
Tartalomjegyzék. Tartalomjegyzék 1. Az SQL nyelv 1 Az SQL DDL alapjai 2
Tartalomjegyzék Tartalomjegyzék 1 Az SQL nyelv 1 Az SQL DDL alapjai 2 Adatbázis parancsok 2 Táblaparancsok 2 A táblázat létrehozása 2 A táblázat módosítása 3 A tábla törlése 3 Indextábla létrehozása 3
Eseményvezérelt alkalmazások fejlesztése II 12. előadás. Objektumrelációs adatkezelés (ADO.NET) Giachetta Roberto
Eötvös Loránd Tudományegyetem Informatikai Kar Eseményvezérelt alkalmazások fejlesztése II 12. előadás Objektumrelációs adatkezelés (ADO.NET) Giachetta Roberto A jegyzet az ELTE Informatikai Karának 2014.
Java és web programozás
Budapesti Műszaki Egyetem 2015. 04. 08. 10. Előadás Ami kimearad múlthéten Ha már megvan a KeyListener vagy MouseListener osztályunk a következõ módon tudjuk hozzárendelni egy JFrame vagy JPanel-hez: Ami
Komponensek együttműködése web-alkalmazás környezetben. Jónás Richárd Debreceni Egyetem T-Soft Mérnökiroda KFT richard.jonas@tsoft.
Komponensek együttműködése web-alkalmazás környezetben Jónás Richárd Debreceni Egyetem T-Soft Mérnökiroda KFT Komponensek a gyakorlatban A szoftverkomponenseket fejlesztő csoportoknak szüksége van olyan
Adatbázisok. 8. gyakorlat. SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE), SELECT október október 26. Adatbázisok 1 / 17
Adatbázisok 8. gyakorlat SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE), SELECT 2015. október 26. 2015. október 26. Adatbázisok 1 / 17 SQL nyelv Structured Query Language Struktúrált lekérdez
Shopping. JDBC, Datasource, Jasper Report. Óbudai Egyetem, Java Enterprise Edition Műszaki Informatika szak Labor 12. Bedők Dávid v0.
Shopping JDBC, Datasource, Jasper Report Óbudai Egyetem, Java Enterprise Edition Műszaki Informatika szak Labor 12 Bedők Dávid 2016.03.26. v0.2 Feladat Készítsünk el egy bevásárló listákat (számlákat)
A Java EE 5 plattform
A Java EE 5 platform Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem Utolsó módosítás: 2007. 11. 13. A Java EE 5 platform A Java EE 5 plattform A J2EE 1.4 után következő verzió. Alapvető továbbfejlesztési
Excel ODBC-ADO API. Tevékenységpontok: - DBMS telepítés. - ODBC driver telepítése. - DSN létrehozatala. -Excel-ben ADO bevonása
DBMS spektrum Excel ODBC-ADO API Tevékenységpontok: - DBMS telepítés - ODBC driver telepítése - DSN létrehozatala -Excel-ben ADO bevonása - ADOConnection objektum létrehozatala - Open: kapcsolat felvétel
Cloud computing. Cloud computing. Dr. Bakonyi Péter.
Cloud computing Cloud computing Dr. Bakonyi Péter. 1/24/2011 1/24/2011 Cloud computing 2 Cloud definició A cloud vagy felhő egy platform vagy infrastruktúra Az alkalmazások és szolgáltatások végrehajtására
Oracle Audit Vault and Database Firewall. Gecseg Gyula Oracle DBA
Oracle Audit Vault and Database Firewall Gecseg Gyula Oracle DBA TÖBB FENYEGETETTSÉG MINT VALAHA TÖBB FENYEGETETTSÉG MINT VALAHA A támadások 70%-a tűzfalon belülről jön A támadások 90%-át hozzáféréssel
Java és web programozás
Budapesti Műszaki Egyetem 2015. 04. 08. 9. Előadás Kivétel kezelés a kivétel (exception) egy esemény, mely futás közben megbontja a program normális futási folyamatát például kivétel dobódik amikor 0-val
Egészítsük ki a Drupal-t. Drupal modul fejlesztés
Egészítsük ki a Drupal-t Drupal modul fejlesztés Drupal 6.0 2008. február 13. Miért írjunk Drupal modult? Nincs az igényeinknek megfelelő modul Valamilyen közösségi igény kielégítése Valami nem úgy működik
Adatbázis rendszerek SQL nyomkövetés
Adatbázis rendszerek 1. 12. SQL nyomkövetés 1/32 B ITv: MAN 2017.10.26 Nyomkövetési feladat 2/32 Gyakorló feladatok Termék-Vásárlás-Vásárló Oktató-Tantárgy-Hallgató 3/32 Gyakorló feladat: Termék-Vásárlás-Vásárló
A Web réteg architektúrája A JSF web alkalmazás keretrendszer. Bakay Árpád dr. NETvisor kft (30)
A Web réteg architektúrája A JSF web alkalmazás keretrendszer Bakay Árpád dr. NETvisor kft (30) 385 1711 arpad.bakay@netvisor.hu Új doc: JSPTutorial.html a web-en Szervletek és JSP-k, és ennek történelmi
Adatbázisok* tulajdonságai
Gazdasági folyamatok térbeli elemzése 4. előadás 2010. 10. 05. Adatbázisok* tulajdonságai Rendezett, logikailag összefüggő és meghatározott szempont szerint tárolt adatok és/vagy információk halmaza Az
Adatbázis-kezelés. Harmadik előadás
Adatbázis-kezelés Harmadik előadás 39 Műveletek csoportosítása DDL adat definiálás Objektum létrehozás CREATE Objektum törlés DROP Objektum módosítás ALTER DML adat módosítás Rekord felvitel INSERT Rekord
BEVEZETÉS Az objektum fogalma
BEVEZETÉS Az objektum fogalma Program (1) Adat (2) Objektum Kiadványszerkesztés Word Táblázatkezelés Excel CAD AutoCad Adatbáziskezelés Access 1 Program (1) Adat (2) Objektum Adatmodell (2) A valós világ
Adabáziselérés ODBC-n keresztül utasításokkal C#-ban
Adabáziselérés ODBC-n keresztül utasításokkal C#-ban 1. Előkészítés Access adatbázis lemásolása, ODBC DSN létrehozása Másoljuk le az alábbiakat: Mit Honnan Hova list.mdb p:\johanyák Csaba\Vizualis programozas\data\
Webes alkalmazások fejlesztése 8. előadás. Webszolgáltatások megvalósítása (ASP.NET WebAPI)
Eötvös Loránd Tudományegyetem Informatikai Kar Webes alkalmazások fejlesztése 8. előadás (ASP.NET WebAPI) 2016 Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto A webszolgáltatás
FortiClient VPN-IPSec kliens konfigurációs segédlet
FortiClient VPN-IPSec kliens konfigurációs segédlet 1. Letöltési hely A kliens szoftver a következő helyről tölthető le: http://www.forticlient.com/downloads 2. Kompatibilitás A kliens a kompatibilátási
SQLServer. SQLServer konfigurációk
SQLServer 2. téma DBMS installáció SQLServer konfigurációk 1 SQLServer konfigurációk SQLServer konfigurációk Enterprise Edition Standart Edition Workgroup Edition Developer Edition Express Edition 2 Enterprise
Informatikai képzés Információs rendszerek dr. Hajas Csilla (ELTE IK)
Informatikai képzés Információs rendszerek dr. Hajas Csilla (ELTE IK) http://sila.hajas.elte.hu/ 5.hét: SQL áttekintés, táblák létrehozása és adatok felvitele Az előadások Ullman-Widom: Adatbázisrendszerek
Tranzakciókezelés PL/SQL-ben
Tranzakciókezelés PL/SQL-ben ACID tulajdonságok: Tranzakció Atomosság, Konzisztencia, Izoláció, Tartósság A tranzakció állhat: - Több DML utasításból - Egy DDL utasításból A tranzakció kezdete az első
BookStore #maven. Enterprise Application, Git, EJB, EAP/EAS, Logging, PostgreSQL/MySQL, JPA, Integration testing
BookStore #maven Enterprise Application, Git, EJB, EAP/EAS, Logging, PostgreSQL/MySQL, JPA, Integration testing Óbudai Egyetem, Java Enterprise Edition Műszaki Informatika szak Labor 3 Bedők Dávid 2017.10.31.
A gyakorlat során MySQL adatbázis szerver és a böngészőben futó phpmyadmin használata javasolt. A gyakorlat során a következőket fogjuk gyakorolni:
1 Adatbázis kezelés 2. gyakorlat A gyakorlat során MySQL adatbázis szerver és a böngészőben futó phpmyadmin használata javasolt. A gyakorlat során a következőket fogjuk gyakorolni: Táblák létrehozása,
Proxer 7 Manager szoftver felhasználói leírás
Proxer 7 Manager szoftver felhasználói leírás A program az induláskor elkezdi keresni az eszközöket. Ha van olyan eszköz, amely virtuális billentyűzetként van beállítva, akkor azokat is kijelzi. Azokkal
SQL ALAPOK. Bevezetés A MYSQL szintaxisa Táblák, adatok kezelésének alapjai
SQL ALAPOK Bevezetés A MYSQL szintaxisa Táblák, adatok kezelésének alapjai BEVEZETÉS SQL: Structured Query Language Strukturált Lekérdező Nyelv Szabvány határozza meg, azonban számos nyelvjárása létezik
B I T M A N B I v: T 2015.03.01 M A N
Adatbázis Rendszerek MSc 2. Gy: MySQL Táblák, adatok B I v: T 2015.03.01 M A N 1/41 Témakörök SQL alapok DDL utasítások DML utasítások DQL utasítások DCL utasítások 2/41 Az SQL jellemzése Az SQL a relációs
webalkalmazások fejlesztése elosztott alapon
1 Nagy teljesítményű és magas rendelkezésreállású webalkalmazások fejlesztése elosztott alapon Nagy Péter Termékmenedzser Agenda Java alkalmazás grid Coherence Topológiák Architektúrák
Cloud computing Dr. Bakonyi Péter.
Cloud computing Dr. Bakonyi Péter. 1/24/2011 Cloud computing 1/24/2011 Cloud computing 2 Cloud definició A cloud vagy felhő egy platform vagy infrastruktúra Az alkalmazások és szolgáltatások végrehajtására
Java és web programozás
Budapesti M szaki Egyetem 2013. november 20. 10. El adás SQLite SQLite: Adatbázis kezel rendszer SQL standardokat nagyrészt követi Nagyon elterjedt, pl böngész kben is használt Nehéz olyan programnyelvet
Webfejlesztés alapjai
Webfejlesztés alapjai Óbudai Egyetem, Java Programozás Mérnök-informatikai kar Labor 7 Bedők Dávid 2016.12.01. v0.9 Webfejlesztés A mai világban szinte minden "programozás iránt érdeklődő" 14 éves "webprogramozó".
MDAC - Microsoft Data Access Components
MDAC - Microsoft Data Access Components 1 ODBC Open DataBase Connectivity ODBC software API adatbáziskezeléshez. Nyelvfüggetlen, Adatbázisfüggetlen Operációsrendszer-független Standard adathozzáférés SQL
Yealink SIP Phone család. webes programozási útmutató. A leírás a MySIP X.50 IPPBX alközpont mellékleteként készült. v1.2-2010.09.14 Young BTS. Kft.
Yealink SIP Phone család webes programozási útmutató A leírás a MySIP X.50 IPPBX alközpont mellékleteként készült. v1.2-2010.09.14 Young BTS. Kft. 2 1. Tartalomjegyzék 2. Regisztráció lépései... 3 2.1
Programozási nyelvek Java
Programozási nyelvek Java Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 13. előadás Throwable Error Exception RuntimeException IOException Saját (általában) Nem ellenörzött kivételek (Unchecked
BookStore #gradle. Enterprise Application, Git, EJB, EAP/EAS, Logging, PostgreSQL/MySQL, JPA, Integration testing
BookStore #gradle Enterprise Application, Git, EJB, EAP/EAS, Logging, PostgreSQL/MySQL, JPA, Integration testing Óbudai Egyetem, Java Enterprise Edition Műszaki Informatika szak Labor 3 Bedők Dávid 2017.10.31.
SQL Server High Availability. Bevezetés az SQL Server magas rendelkezésre állási megoldásaiba
SQL Server High Availability Bevezetés az SQL Server magas rendelkezésre állási megoldásaiba Sponsors Bemutatkozás 10+ év SQL Server tapasztalat Oktató Kapcsolat: Email: Janos@iamBerke.com Blog: http://www.iamberke.com
STANDARD DEVELOPMENT U.L. FACTORY SYSTEMS GROUP IT DEPARTMENT
Oracle Cloud Platform szolgáltatások bevezetése a Magyar Suzuki Zrt.-nél Farkas Bálint STANDARD DEVELOPMENT U.L. FACTORY SYSTEMS GROUP IT DEPARTMENT MAGYAR SUZUKI CORPORATION Oracle Cloud Platform szolgáltatások
Webes alkalmazások fejlesztése 7. előadás. Autentikáció és autorizáció (ASP.NET Core) Cserép Máté
Eötvös Loránd Tudományegyetem Informatikai Kar Webes alkalmazások fejlesztése 7. előadás Autentikáció és autorizáció (ASP.NET Core) Cserép Máté mcserep@inf.elte.hu http://mcserep.web.elte.hu Autentikáció
Előszó. Bevezetés. Java objektumok leképzése relációs adatbázisokra OJB-vel Viczián István (viczus@freemail.hu) Viczián István
Java objektumok leképzése relációs adatbázisokra -vel Viczián István (viczus@freemail.hu) Előszó E cikk olyan haladó programozóknak nyújt segítséget, kik tisztában vannak a Java nyelvvel, és többször is
Szálkezelés. Melyik az a hívás, amelynek megtörténtekor már biztosak lehetünk a deadlock kialakulásában?
Szálkezelés 1. A szekvencia diagram feladata az objektumok egymás közti üzenetváltásainak ábrázolása egy időtengely mentén elhelyezve. Az objektumok életvonala egy felülről lefelé mutató időtengely. A
1. Kapcsolók konfigurálása
1. Kapcsolók konfigurálása Üzemmódok: Felhasználói Privilegizált Globális konfigurációs váltás: enable (en), váltás: exit váltás: configure terminal (conf t), váltás: exit váltás: változó, váltás: exit,
SQL jogosultság-kezelés. Privilégiumok Grant és Revoke Grant Diagrammok
SQL jogosultság-kezelés Privilégiumok Grant és Revoke Grant Diagrammok 1 Jogosultság-kezelés Egy fájlrendszer általában jogosultságokat rendel az általa kezelt objektumokhoz. Tipikusan olvasható, írható,
SQL DDL-1: táblák és megszorítások
SQL DDL-1: táblák és megszorítások Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 2.3. Relációsémák definiálása 7.1. Kulcsok és idegen kulcsok 7.2. Értékekre
Enterprise JavaBeans. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem. Az Enterprise JavaBeans
Enterprise JavaBeans Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem Az Enterprise JavaBeans Az Enterprise Javabeans Az Enterprise JavaBeans (EJB) server oldali komponens, amely Az üzleti
Tábla létrehozása: CREATE TABLE alma( ID INT( 3 ) NOT NULL PRIMARY KEY, Leiras VARCHAR( 100 ) );
Tábla létrehozása: CREATE TABLE alma( ID INT( 3 ) NOT NULL PRIMARY KEY, Leiras VARCHAR( 100 ) ); CREATE TABLE `dihunor`.`csapat` ( `ID` INT( 4 ) NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT 'A csapat azonositoja',
Struts2 keretrendszer
Áttekintés Struts2 keretrendszer Bevezetés Struts2 keretrendszer Action osztály Interceptor-ok OGNL 1 / 26 2 / 26 Már a megjelenésük kezdetén bebizonyosodott a Servletek hasznos volta. A CGI-vel szemben
LINUX LDAP címtár. Mi a címtár?
Forrás: https://wiki.hup.hu/index.php/ldap http://tldp.fsf.hu/howto/ldap-howto-hu/ Budapesti Műszaki és Gazdaságtudományi Egyetem, Micskei Zoltán: Címtárak Kezelése, 2012. https://hu.wikipedia.org/wiki/c%c3%admt%c3%a1rszolg%c3%a1ltat%c3%a1sok
Relációsémák létrehozása SQL nyelvben
Relációsémák létrehozása SQL nyelvben SQL (Structured Query Language) lekérdezés módosítás relációséma leírására alkalmas utasítások: attribútumnevek, attribútumok adattípusa megszorításokat is megadhatunk,
Adatbáziskezelés php-ben MySQL adatbáziskezelı rendszert használva
Adatbáziskezelés php-ben MySQL adatbáziskezelı rendszert használva by A feladat bemutatása...1 Táblák létrehozása...1 Táblák feltöltése...2 Adatbáziskezelés php-ben...5 Csatlakozás az MySQL szerverhez
Web-fejlesztés NGM_IN002_1
Web-fejlesztés NGM_IN002_1 Szindikálás, aggregálás - RSS, Atom Tartalom betáplálás Gyakran frissül! webszájtok Új felhasználói igények el!fizetési igény az új tartalomra a tartalom újrafelhasználása eltér!
Java technológiák - ANTAL Margit. komponensek. A HTTP protokoll. Webkonténerek és szervletek. Egyszerű HTTP. ANTAL Margit.
Sapientia - EMTE 2010 A célja A viselkedése Megjelenítés komponenstípusok Adatok megjelenítése: grafikonok, táblázatok Űrlapok Navigációs elemek: menük, hiperlinkek Informácios képernyők: útbaigazítások,
Using the CW-Net in a user defined IP network
Using the CW-Net in a user defined IP network Data transmission and device control through IP platform CW-Net Basically, CableWorld's CW-Net operates in the 10.123.13.xxx IP address range. User Defined
Analitikai megoldások IBM Power és FlashSystem alapokon. Mosolygó Ferenc - Avnet
Analitikai megoldások IBM Power és FlashSystem alapokon Mosolygó Ferenc - Avnet Bevezető Legfontosabb elvárásaink az adatbázisokkal szemben Teljesítmény Lekérdezések, riportok és válaszok gyors megjelenítése
Az indexelés újdonságai Oracle Database 12c R1 és 12c R2
Az indexelés újdonságai Oracle Database 12c R1 és 12c R2 Szabó Rozalinda Oracle adattárház szakértő, oktató szabo.rozalinda@gmail.com Index tömörítés fejlődése 8.1.3-as verziótól: Basic (Prefixes) index
Adatbázis Rendszerek I. 10. SQL alapok (DML esettanulmány)
Adatbázis Rendszerek I. 10. SQL alapok (DML esettanulmány) 23/1 B IT v: 2018.10.31 MAN DML adatokon műveletet végző utasítások DML Data Manipulation Language Rekordok (sorok) beszúrása (felvitele) Mezők
SAMBA. Forrás: Lajber Zoltán: SAMBA alapok dia, SZIE
Forrás: Lajber Zoltán: SAMBA alapok dia, SZIE https://www.samba.org Mi a SAMBA? Windows "Fájl és nyomtatómegosztás", illetve a "Microsoft Networks Kliens" szolgáltatásokat tartalmazó szoftvercsomag. NETBIOS