Loading...
milkopg avatar milkopg 47 Точки

[Java Web Development] Домашно за Topic 7 - Spring Security

Нещо не мога да разбера как трябва да се организира UI-я в домашното за лекция 7.

Пише, че трябва да се създаде нова Bank Rigister страница, в която има таблица с 4 колони и 2 бутона New Account & Operation.

Въпроса ми е:

Input полетата които трябва да се изведат от New Account & Operation бутоните в същото jsp ли трябва се изведат и различните колони като Initial Amount и Operation – deposit/withdraw да ги скриваме или показваме в зависимост от правата и всичко това да бъде в същото jsp или да създадем 2 допълнителни jsp-ta едното за нов акаунт и другото за извършване на операции и като се извършат операциите да се връща пак към главната Bank Register страница.

 

Ще съм благодарен ако някой даде повече информация

Тагове:
1
Java Web Development
deyan.zhekov avatar deyan.zhekov 159 Точки

Здравей,

целта на домашното е да ви даде бизнес изискване, на което вие да измислите дизайн и имплементация.

Дали ще сложиш всичките елементи в една страница и ще ги показваш и криеш, по какъв начин ще се показват и крият елементите в този случай, дали ще са отделни страници е ваш избор.

Жокера от мен е - стреми се да правиш прости файлове без значение дали са с Java код, HTML или друг програмен език.

1
milkopg avatar milkopg 47 Точки

Благодаря за отговора Деян,

В случая не трябва ли да има в New Account екрана и username - това липсва в описанието на задачата. В реда на нещата е като се създава нов акаунт да се задава и username на потребителя? Никъде другаде не се въвежда този код, а ще трябва да го визуализираме в началната страница.

от домашното:

“New Account” button for creation of new accounts leading to page with the following:
 Form for input:
           Account Number
           Initial Amount
           Account Currency

0
deyan.zhekov avatar deyan.zhekov 159 Точки

Здравей,

като се комбинира със security частта потребителя ще се взема от SecurityContextHolder-a както показах в края на лекцията - т.е. username съответства на логнатия потребител.

0
milkopg avatar milkopg 47 Точки

Да това го знам за вземането на потребителя от SecurityContextHolder, но все отнякъде трябва да се въвете полето username i.e. ivan, pesho и тн. Идеята ми беше, че никъде в условието не видях да се въвежда username в New Account или в Operation екрана. Това поле го има само в

Table with columns:
 Username
 Account Number
 Current Amount
 Account Currency

А това доколкото разбирам, е readonly поле, което за да се визуализира трябва да се попълни от някъде.

Прав ли съм или изпускам нещо?

 

0
deyan.zhekov avatar deyan.zhekov 159 Точки

Здравей,

полето е read-only (всъщност цялата таблица). Това поле не се въвежда от потребителя, а при създаване на акаунт се извлича от логнията потребител. При deposit/withdraw също се взема от логнатия потребител.

0
milkopg avatar milkopg 47 Точки

Това което искам да питам всъщност е как мога да визуализарам username, което не се вкарва никъде? Какво username да визуализирам - session id или нещо друго?

Как да извлеча информация за логнатия потребител като при регистрацията му не вкарвам username?

Деян моля отвори pdf-a за домашно 7, защото има разлики с този на домашно 6 и си мисля, че е изпуснато нещо в домашно 7. В лекция 6 има поле за име, а тук го няма, това ли имаш предвид?

0
deyan.zhekov avatar deyan.zhekov 159 Точки

Здравей,

полето не е изпуснато, а е ненужно. В топик 6 нямахме понятие за логнат потребител и го въвеждахме ръчно. След топик 7 вече имаме логнат потребител и следва данните за него да се вземат по правилния начин (Principal от SecurityContextHolder).

Що се отнася до създаването на акаунт - следва да бъде след като потребителя се е аутентикирал и аутентизирал т.е. разполагаш с потребителя (username). Съответно регистровата страница няма да има данни при първо влизане - ще има след създаване на акаунт.

Ако пък искаш предварително да си създадеш map с account-и - въведи възможни потребители на системата и по този начин ще имаш таблица с първоначални данни.

1
milkopg avatar milkopg 47 Точки

Благодаря, сега вече е ясно!

0
denka avatar denka 52 Точки

Здравей,

И аз имам неясноти по условието.

“New Account” button can be seen and used only by users with ROLE_BANK_EMPLOYEE" - Тоест ROLE_USER не може да създава акаунти, а само да вижда вече готов, създаден от някой BANK_EMPOLEE. 

"Users with ROLE_USER sees only their own accounts (accounts should be linked to users)" - този линк(между юзър и акаунт) не става ясно как се очаква да се направи.

Тук във форума пише: "Това поле не се въвежда от потребителя, а при създаване на акаунт се извлича от логнията потребител" - за username полето в таблицата.  - Тоест аз виждам два варианта:

1.  Таблицата показва не username на притежателя на акаунта, а username на този който го е създал. - Ако е така обаче, за стане линка между акаунт и username при добавянето на акаунта трябва да се добави и възможност за създаване на нов потребител (т.е. да се въведе и username + password  с които въпросния акаунт да се достъпи)

2. Текущо логнатия юзър вижда всички акаунти, но може да прави акаунти само за себе си. - Тоест линкваме създавания акаунт към текущо логнатия юзър. - Ако е така обаче, как тогава се прави акаунт на user с "ROLE_USER" права?

 

2
deyan.zhekov avatar deyan.zhekov 159 Точки

Здравей,

благодаря за коментара - наистина има разминаване в изискванията. Ще коригирам леко условието на задачата:

1) Account да съдържа username за собственика и created by (username на този, който го е създал).

2) Полето username да се добави в екрана за създаване на account - ще се въвежда username, на когото принадлежи акаунта, а този който го е създал ще се извлича от сесията на потребителя.

3) Потребител с ROLE_USER може единствено да внася и тегли пари, но не и да създава нов акаунт, а в регистровата страница вижда само своите акаунти.

4) Потребителите на системата не се създават през интерфейса (за тази задача), а на практика само се използват за връзка между потребителя и неговите банкови акаунти.

 

Условието е коригирано и във файла за домашното.

1
02/03/2016 08:29:38
kosio197 avatar kosio197 104 Точки

Благодаря за бързият отговор и адекватната корекция на условието.

Благодаря и на Денка - :) и аз доста се бях умислил.....?

1
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.