У меня есть перечисление со значениями разрешения: < /p>
public enum Permission {
DASHBOARD_OPEN("dashboard:open");
private final String key;
Permission(String key) {
this.key = key;
}
@Override
public String toString() {
return key;
}
}
< /code>
, который я хочу использовать в мета-аннотации: < /p>
@Target({ElementType.METHOD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@PreAuthorize("hasAuthority('{value}')")
public @interface HasPermission {
Permission value();
}
< /code>
нравится это: < /p>
@HasPermission(DASHBOARD_OPEN)
@RequestMapping({"/dashboard",})
public String dashboard() {
return "dashboard";
}
< /code>
Это не работает, я получаю 403 ошибки, независимо от того, как я пытаюсь это настроить. {value} не работает, {value.key} не работает, и я также попробовал все возможные перестановки. Я проверил, и у моего пользователя есть соответствующий орган. Если я не использую эту мета-аннотация, то моя страница доступна, хотя: < /p>
@PreAuthorize("hasAuthority('dashboard:open')") //
Что я делаю не так? Как я могу сделать Enum решение для решения (в отличие от прохождения строки s)?@Target({ ElementType.METHOD, ElementType.TYPE })
@Retention(RetentionPolicy.RUNTIME)
@PreAuthorize("hasRole('{value}')")
public @interface HasRole {
String value();
}
Подробнее здесь: https://stackoverflow.com/questions/797 ... g-spring-s
Как написать пользовательскую мета -аннотацию, чтобы проверить авторитет при использовании Spring Security? ⇐ JAVA
Программисты JAVA общаются здесь
1758798436
Anonymous
У меня есть перечисление со значениями разрешения: < /p>
public enum Permission {
DASHBOARD_OPEN("dashboard:open");
private final String key;
Permission(String key) {
this.key = key;
}
@Override
public String toString() {
return key;
}
}
< /code>
, который я хочу использовать в мета-аннотации: < /p>
@Target({ElementType.METHOD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@PreAuthorize("hasAuthority('{value}')")
public @interface HasPermission {
Permission value();
}
< /code>
нравится это: < /p>
@HasPermission(DASHBOARD_OPEN)
@RequestMapping({"/dashboard",})
public String dashboard() {
return "dashboard";
}
< /code>
Это не работает, я получаю 403 ошибки, независимо от того, как я пытаюсь это настроить. {value} не работает, {value.key} не работает, и я также попробовал все возможные перестановки. Я проверил, и у моего пользователя есть соответствующий орган. Если я не использую эту мета-аннотация, то моя страница доступна, хотя: < /p>
@PreAuthorize("hasAuthority('dashboard:open')") //
Что я делаю не так? Как я могу сделать Enum решение для решения (в отличие от прохождения строки s)?@Target({ ElementType.METHOD, ElementType.TYPE })
@Retention(RetentionPolicy.RUNTIME)
@PreAuthorize("hasRole('{value}')")
public @interface HasRole {
String value();
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79774727/how-to-write-a-custom-meta-annotation-to-check-for-authority-when-using-spring-s[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия