我有一个Java课程,里面有一些机密信息,我不想提供给任何未经授权的课程.
我想在一些包中访问这个类(这个包中的类将使用机密信息),因此我的安全类应该可以在这些包中访问.
有什么方法可以检查方法的调用者是否是授权类的授权类?
我知道公共/私人/默认所有东西(所以请不要让我使用它),但这些在这里没用,因为我想在一些包(不是一个/同一个)中可以访问一个类.
我觉得你的方向是错误的.这可能是一个设计问题.
安全要求是您的业务逻辑.您应该以某种方式实现安全策略,而不是依赖于Java语言级别的可见性修饰符或调用者包名称.因为如果你把罐子交给别人,无论如何他都可以进入你的"confidencial"课程.
而且,类是一种类型,一种抽象的东西.它不应包含"数据".确定有时conf信息被写为静态变量等.但是如果某些数据是敏感的,则不应该在课堂上写.它可以存储在数据库或加密文件中等等.一旦对敏感信息发出请求,您将检查已实施的安全策略(如果允许访问这些数据).
只是我的2cents