- 浏览: 199229 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (101)
- 职业 (4)
- 生活 (3)
- 场景应用 (6)
- flex (14)
- java (31)
- php (2)
- python (2)
- hadoop (6)
- 项目管理 (1)
- 工作流 (4)
- 手机web应用 (3)
- 算法 (4)
- 小技巧 (1)
- 数据库 (2)
- sphinx (1)
- web综合 (15)
- spring (5)
- 设计 (9)
- javascript (3)
- linux (2)
- 报表 (2)
- delphi (1)
- ejb (1)
- 架构 (3)
- uml (3)
- lucene (2)
- BI (1)
- 多线程 (1)
- 地图 (1)
- gis (1)
- 网络基础 (1)
- spark (2)
- 分布式 (3)
- ext (1)
- android (3)
- arduino (1)
- 协同办公 (2)
- OA流程 (2)
- 畅想 (1)
- ios (3)
- swift (1)
- webkit (1)
- c (1)
- 浏览器 (1)
- html5 (2)
- rtmp (1)
- soket (1)
- AI (2)
- tensorflow (1)
- ignite (1)
- react (4)
- 新空间 (2)
- 闲话 (3)
- docker (1)
- kubernetes (1)
最新评论
-
wenzhiyinghen:
...
spark 学习 -
zlbdexiaohao:
flex 写的时钟 -
minn84:
luoguohong88 写道你上传的那个openi.zip ...
openi1.3 eclipse 整合调试 -
luoguohong88:
你上传的那个openi.zip (5.5 MB)有问题 能再上 ...
openi1.3 eclipse 整合调试 -
minn84:
demo的思路很简单,主要是两点:1.hadoop负责处理数据 ...
hadoop+lucene+web 综合小demo
import javax.swing.JFrame;
public class PermissionTest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.setSecurityManager(new SecurityManager());
JFrame frame=new PermissionTestFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextField;
public class PermissionTestFrame extends JFrame {
private JTextField textField;
private WordCheckTextArea textArea;
private static final int DEFAULT_WIDTH=400;
private static final int DEFAULT_HEIGHT=200;
public PermissionTestFrame()
{
this.setTitle("PermissionTest");
this.setSize(DEFAULT_WIDTH,DEFAULT_HEIGHT);
textField=new JTextField(20);
JPanel panel=new JPanel();
panel.add(textField);
JButton openButton=new JButton("Indert");
panel.add(openButton);
openButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
insertWords(textField.getText());
}
});
add(panel,BorderLayout.NORTH);
textArea=new WordCheckTextArea();
add(new JScrollPane(textArea),BorderLayout.CENTER);
}
private void insertWords(String words)
{
try
{
textArea.append(words+"\n");
}catch(SecurityException e)
{
JOptionPane.showMessageDialog(this,"I am sorry,but I cannot do that");
}
}
}
import java.security.Permission;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
public class WordCheckPermission extends Permission {
private String action;
public WordCheckPermission(String name) {
super(name);
}
public WordCheckPermission(String name,String anAction)
{
super(name);
action=anAction;
}
@Override
public boolean equals(Object other) {
if(other==null)return false;
if(!getClass().equals(other.getClass())) return false;
WordCheckPermission b=(WordCheckPermission) other;
if(!action.equals(b.action)) return false;
if(action.equals("insert"))
return getName().equals(b.getName());
else if(action.equals("avoid"))
return badWordSet().equals(b.badWordSet());
else
return false;
}
@Override
public String getActions() {
return action;
}
@Override
public int hashCode() {
return getName().hashCode()+action.hashCode();
}
@Override
public boolean implies(Permission other) {
if(!(other instanceof WordCheckPermission)) return false;
WordCheckPermission b=(WordCheckPermission) other;
if(action.equals("insert"))
{
return b.action.endsWith("insert")&&getName().indexOf(b.getName())>=0;
}else if(action.equals("avoid"))
{
if(b.action.equals("avoid"))
return b.badWordSet().containsAll(badWordSet());
else if(b.action.equals("insert"))
{
for(String badWord:badWordSet())
if(b.getName().indexOf(badWord)>=0)
return false;
return true;
}else
{
return false;
}
}
else return false;
}
public Set<String> badWordSet()
{
Set<String> set=new HashSet<String>();
set.addAll(Arrays.asList(getName().split(",")));
return set;
}
}
import javax.swing.JTextArea;
public class WordCheckTextArea extends JTextArea {
/* (non-Javadoc)
* @see javax.swing.JTextArea#append(java.lang.String)
*/
@Override
public void append(String str) {
// TODO Auto-generated method stub
WordCheckPermission p=new WordCheckPermission(str,"avoid");
SecurityManager manager=System.getSecurityManager();
if(manager!=null)manager.checkPermission(p);
super.append(str);
}
}
//PermissionTest.policy
grant codeBase "file:d:/test/permission/"
{
//permission java.security.AllPermission;
permission WordCheckPermission "sex,drugs,c++", "avoid";
permission WordCheckPermission "my name is minn", "insert";
};
实现权限类
1)javac *.java
2)java -Djava.security.policy=PerssionTest.policy PermissionTest
public class PermissionTest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.setSecurityManager(new SecurityManager());
JFrame frame=new PermissionTestFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextField;
public class PermissionTestFrame extends JFrame {
private JTextField textField;
private WordCheckTextArea textArea;
private static final int DEFAULT_WIDTH=400;
private static final int DEFAULT_HEIGHT=200;
public PermissionTestFrame()
{
this.setTitle("PermissionTest");
this.setSize(DEFAULT_WIDTH,DEFAULT_HEIGHT);
textField=new JTextField(20);
JPanel panel=new JPanel();
panel.add(textField);
JButton openButton=new JButton("Indert");
panel.add(openButton);
openButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
insertWords(textField.getText());
}
});
add(panel,BorderLayout.NORTH);
textArea=new WordCheckTextArea();
add(new JScrollPane(textArea),BorderLayout.CENTER);
}
private void insertWords(String words)
{
try
{
textArea.append(words+"\n");
}catch(SecurityException e)
{
JOptionPane.showMessageDialog(this,"I am sorry,but I cannot do that");
}
}
}
import java.security.Permission;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
public class WordCheckPermission extends Permission {
private String action;
public WordCheckPermission(String name) {
super(name);
}
public WordCheckPermission(String name,String anAction)
{
super(name);
action=anAction;
}
@Override
public boolean equals(Object other) {
if(other==null)return false;
if(!getClass().equals(other.getClass())) return false;
WordCheckPermission b=(WordCheckPermission) other;
if(!action.equals(b.action)) return false;
if(action.equals("insert"))
return getName().equals(b.getName());
else if(action.equals("avoid"))
return badWordSet().equals(b.badWordSet());
else
return false;
}
@Override
public String getActions() {
return action;
}
@Override
public int hashCode() {
return getName().hashCode()+action.hashCode();
}
@Override
public boolean implies(Permission other) {
if(!(other instanceof WordCheckPermission)) return false;
WordCheckPermission b=(WordCheckPermission) other;
if(action.equals("insert"))
{
return b.action.endsWith("insert")&&getName().indexOf(b.getName())>=0;
}else if(action.equals("avoid"))
{
if(b.action.equals("avoid"))
return b.badWordSet().containsAll(badWordSet());
else if(b.action.equals("insert"))
{
for(String badWord:badWordSet())
if(b.getName().indexOf(badWord)>=0)
return false;
return true;
}else
{
return false;
}
}
else return false;
}
public Set<String> badWordSet()
{
Set<String> set=new HashSet<String>();
set.addAll(Arrays.asList(getName().split(",")));
return set;
}
}
import javax.swing.JTextArea;
public class WordCheckTextArea extends JTextArea {
/* (non-Javadoc)
* @see javax.swing.JTextArea#append(java.lang.String)
*/
@Override
public void append(String str) {
// TODO Auto-generated method stub
WordCheckPermission p=new WordCheckPermission(str,"avoid");
SecurityManager manager=System.getSecurityManager();
if(manager!=null)manager.checkPermission(p);
super.append(str);
}
}
//PermissionTest.policy
grant codeBase "file:d:/test/permission/"
{
//permission java.security.AllPermission;
permission WordCheckPermission "sex,drugs,c++", "avoid";
permission WordCheckPermission "my name is minn", "insert";
};
实现权限类
1)javac *.java
2)java -Djava.security.policy=PerssionTest.policy PermissionTest
发表评论
-
多语言版基础管理系统展示[es6版]-入门配置篇
2018-10-26 07:17 560新增一篇入门配置文档 原文地址: http://www.i8 ... -
多语言版基础管理系统展示[es6版] -流程配置效果
2017-12-17 19:42 750终于找到一个可以较好展示工作流程配置的 ... -
多语言版基础管理系统展示[es6版]-简单整合spring+tensorflow+ignite+hadoop
2017-08-05 18:14 8581.整合基于[多语言版基础管理系统展示[es6版] ] ... -
多语言版基础管理系统展示[es6版]-简单整合tensorflow
2017-05-03 19:48 1048在大数据和AI渐渐兴起的时候,这是一个关于大 ... -
基于html5的websocket和rtmp协议的java socket服务器
2016-12-07 07:20 1106现代企事业单位中,会涉及到数据推送和获取服 ... -
多语言版基础管理系统展示[flash版]-hadoop+spark+spring简单整合
2016-06-18 21:36 4320本demo基于多语言版基础管理系统展示[fl ... -
ios简单的增删查例子
2015-02-23 16:08 883本例子分为两 ... -
spark 学习
2013-05-18 00:13 19232spark,又一个传说中的分布式实现,详情:ht ... -
基于rtmp协议的java多线程服务器
2013-03-31 21:34 3893打算设计这个半开源服务的计划已经有很长时间了,大 ... -
矩阵算法实现修改
2013-03-23 00:10 1049前段时间因为项目需要,需要实现一个据说是某高 ... -
hadoop+lucene+web 综合小demo
2013-03-02 01:28 13755很长一段时间没有关注hadoop,突然间有兴致,于是动手又 ... -
ejb3.x 简单小 demo
2012-02-21 21:07 1204本demo适合有一定编程经验的自学者 ,简单易懂,涉及数据 ... -
java综合
2012-02-11 22:00 1464以下自定义的简单类中,分析涉及的基础知识 / ... -
java nio应用 aes字符串加密与解密
2010-08-18 22:36 1995import java.io.IOException; imp ... -
java excel内容转换为键/值对基本通用方法与数据库导入
2010-06-01 23:28 1726有时候我们需要从execel中导入大量的数据,编程过程中就遇到 ... -
简单servlet socket 整合
2010-05-05 21:52 4389package filter; import java.io ... -
java写的简单生成sql语句的工具方法
2010-04-20 23:02 3470jdbc编程中,最麻烦的是拼sql语句,尤其是字段太多的时候, ... -
基于rtmp协议用java nio写小型游戏服务器的总结3
2010-03-05 20:59 2178在flex使用rtmp协议进行连接的时候,有个握手的过程,详情 ... -
基于rtmp协议用java nio写小型游戏服务器的总结2
2010-03-04 21:41 2306今天介绍一下学习rtmp的过程,首先当然是baidu和goog ... -
基于rtmp协议用java nio写小型游戏服务器的总结1
2010-03-03 22:55 2525前一阵子,进了一家公司,工作的内容是写基于rtmp协议的jav ...
相关推荐
EXEC dbms_java.grant_permission('TYSP', 'SYS:java.net.SocketPermission', '192.168.1.107:8080', 'connect,resolve'); ``` 接下来,我们希望撤销这个权限: 1. **查询授权信息**: ```sql SELECT * FROM USER...
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, in
permission java.security.AllPermission; }; ``` 这条语句表示给予`/var/lib/tomcat5.5/webapps/项目名称/`下的所有代码全权限(`AllPermission`),这将覆盖Java默认的安全策略,使得Web应用能够连接到本地的...
2. **上传到数据库**:使用`DBMS_JAVA`包中的`GRANT PERMISSION`过程将Java源代码导入到数据库中,这样它们就可以被编译和执行了。 3. **编译Java源代码**:使用`DBMS_JAVA`包的`COMPILE SOURCE`过程来编译Java源...
Apache Shiro 是一个强大且易用的 Java 安全框架,提供身份认证、授权和会话管理功能。本文主要探讨如何在应用中基于注解实现 Shiro 的授权认证过程。 授权,即访问控制,是 Shiro 的核心功能之一,用于决定用户...
Java SFTP文件上传是通过Java编程语言实现与Secure File Transfer Protocol(SFTP)服务器进行交互,将本地文件安全地传输到远程服务器的过程。SFTP是一种基于SSH的安全文件传输协议,它提供了在不安全网络上安全...
在Android系统中,Action和Permission是两个非常关键的概念,它们对于构建可扩展和安全的应用程序至关重要。本教程将深入探讨如何在Android应用中自定义Action和Permission,以及它们在应用程序架构中的作用。 ...
RolePermission.javaRolePermission.javaRolePermission.javaRolePermission.javaRolePermission.javaRolePermission.javaRolePermission.javaRolePermission.javaRolePermission.javaRolePermission....
`Pro Android`学习系列深入探讨了Android平台的各种方面,其中“permission”部分专门讲解如何处理应用权限。在这个例子中,我们将详细了解Android权限系统的工作原理,以及如何在实际项目中应用它们。 Android权限...
`PermissionDemo.zip`项目可能包含了一个完整的Android Studio工程,包括相关的布局文件、Java或Kotlin代码、以及示例如何在不同场景下正确请求和处理权限的逻辑。通过这个项目,你可以学习如何在实际应用中实现优雅...
```java TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); String phoneNumber = telephonyManager.getLine1Number(); ``` 需要注意的是,在实际设备上获取...
【标题】"permissiondemo2.zip" 提供的是一款与权限管理相关的Java应用示例,它可能包含了一个完整的或部分的Java代码实现,用于演示如何在应用程序中处理和控制用户权限。"javaYZ"可能指的是Java权限(Permission)...
dbms_java.grant_permission('jkt','SYS:java.io.FilePermission','c:\MO_WriteData.txt','read,write,execute,delete'); end; ``` 这将授予jkt用户对c:\MO_WriteData.txt文件的读写权限。 三、创建存储过程 下...
DBMS_JAVA.GRANT_PERMISSION('PUBLIC', 'java.io.FilePermission', '*', 'read'); DBMS_JAVA.PRECOMPILE('myJavaPackage.MyClass', TRUE); DBMS_LOB.COPY(dbms_lob.getlength(jar_file), jar_file, 1, dbms_lob....
在Java中,权限是通过`java.security.Permission`类及其子类来表示的。例如,`FilePermission`类用于控制对文件和目录的访问。 在描述中提到的几个关键操作,如写入、添加和删除权限,都可以通过`FilePermission`类...
在Java中,权限是通过Permission类及其子类来表示的,如FilePermission、SocketPermission等。这些类定义了特定类型的操作,比如读取文件、打开网络连接等。描述中的“有需要的同学可以自由下载”,暗示了这个代码库...
7. **权限类(Permission Class)**:每个权限都有对应的类,如`java.io.FilePermission`,这些类在`java.security`包下定义。 8. **认证(Authentication)与授权(Authorization)**:认证是确定用户身份的过程,...
3.6.1 java.security.Permission 27 3.6.2 许可权集合 28 3.6.3 java.security.Unresolved Permission 29 3.6.4 java.io.FilePermission 31 3.6.5 java.net.SocketPermission 33 3.6.6 java.security....
在Java中,我们可以创建一个`Role`类来表示角色,一个`Permission`类来表示权限,然后通过`Role`和`Permission`的多对多关系来实现角色与权限的绑定。 2. **数据库设计**:Oracle数据库因其高性能和稳定性常被用于...
项目源码会包含如何在AndroidManifest.xml文件中声明和使用这些权限,如`<uses-permission android:name="android.permission.SEND_SMS">`和`<uses-permission android:name="android.permission.RECEIVE_SMS">`。...