Я внедряю систему безопасности в своем приложении, и у меня возникают некоторые проблемы, чтобы проверить, есть ли у пользователя x
разрешение y
.
Что ж, давайте контекстуализировать: Например, у моего приложения есть этиразрешения:
Администраторам доступны следующие разрешения: *.a
(*
означает все, поэтому cmd.a
и api.a
), а обычные пользователи имеют *.b
(cmd.b
и api.b
).
Так что я должен сравнить, если у пользователя есть cmd.a
.Ну как мне сравнить *.a
с cmd.a
?А как насчет сравнения *.a
с cmd.*
(cmd.a
, cmd.b
) (должно быть ложным, потому что *.a
включает только cmd.a
и api.a
)?
Честно говоря, нетне знаю, с чего начать, так как я не буду знать существующие разрешения во время выполнения (cmd.a
, cmd.b
, api.a
, api.b
), у меня просто есть разрешения, которые есть у пользователя (например, 1046 *) иразрешение (может появиться *
) для сравнения (например, cmd.*
или cmd.foo
и т. д.).
Я действительно не знаю, правильно ли я объяснил, чего я хочу.Как я могу сравнить эти выражения регулярных выражений?