ClickOnce部署(5)自定义安全权限

今天我们来探讨一下在ClickOnce部署中如何严格控制应用程序的权限。

演示应用

为了在下文中能更好地演示,我们先要做一个测试项目。也为了显得简单易懂,我使用最常用且最常见的WinForm项目,这是地球上最丰富的物种。

咱们做一个MD5的计算程序,这个应该够简单了吧?程序的功能是浏览打开一个文件,然后计算它的MD5,最后以字符串的形式输出。

界面大致这样:

其中用来输入文件名的文本框叫txtInput,用来显示计算结果的文本框叫txtOutput,为了方便输入文件名,我们在输入文本框的右侧放一个按钮,点击后通过OpenFileDialog来浏览文件。

然后处理的代码如下:

using System;

……

using System.Windows.Forms;

using System.Security.Cryptography;

using System.IO;

namespace md5ComputeApp

{

public partial class Form1 : Form

{

……

private void button1_Click(object sender, EventArgs e)

{

if (File.Exists(this.txtInput.Text) == false)

{

MessageBox.Show("靠,文件不存在,计算条毛啊。"); return;

}

MD5 md5 = new MD5CryptoServiceProvider();

// 打开文件流

FileStream fs = File.OpenRead(txtInput.Text);

// 开始计算

byte[] dataBuffer = md5.ComputeHash(fs);

// 关闭流

fs.Close();

fs.Dispose();

fs = null;

// 转换为字符串

StringBuilder bd = new StringBuilder();

foreach (byte b in dataBuffer)

{

bd.Append(b.ToString("x2"));

}

// 显示结果

this.txtOutput.Text = bd.ToString();

}

private void btnBrowser_Click(object sender, EventArgs e)

{

if (this.openFileDialog1.ShowDialog().Equals(DialogResult.OK))

{

this.txtInput.Text = this.openFileDialog1.FileName;

}

}

}

}

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索文件
, this
, 文本
, using
, system
一个
clickonce部署、clickonce 权限、flume自定义插件部署、部署 授予的权限不足、wcf iis 部署 权限,以便于您获取更多的相关知识。

时间: 2024-12-28 22:19:44

ClickOnce部署(5)自定义安全权限的相关文章

ClickOnce部署(4) 下载多个安装包

有时候,我们可能会一次性发布多个安装包,当然在网页上多加几个链接让用户逐个安装也是可取的.不过,也可以弄得更方便些,即用户先安装一个,作为一个"引导程序",然后通过这个程序去下载安装其他应用程序. 我们还是说说真实的例子,这样好理解一点.假设我开发了两个应用程序,一个叫App1,另一个叫App2.我把这两个应用程序同时发布. 我们可以在IIS服务器的根目录下新建两子目录,我们分别把这两个应有程序发布到这两个文件夹下,如下面两张截图所示. 第一个应用 第二个应用 最后,重点是如何做这个&

clickonce 部署问题

问题描述 在<C#入门经典(第5版)>第十八章部署中使用Public向导进行发布下面有两行字:把应用程序发布到web服务器上,必须以elevated模式启动vs2010,且必须有管理权限,还要安装iis,如果没有iis,应选择发布到本地文件系统上.elevated模式是什么?没安装iis怎么发布到本地? 解决方案 解决方案二:请问IIs是个什么东西?解决方案三:你在哪里看到过对于asp.net使用clickonce部署?你的标题是完全无厘头的.解决方案四:关于"IIS是什么东西&qu

ClickOnce部署(3) 使用证书

在讲述证书的使用前,我们先来了解另外一个知识--发布网页. 在前面所说的ClickOnce部署中,如果大家细心的话,应该会发现这么个问题. 如上图,发布成功后,在"输出"窗口中提示无法查看发布网页. 好,我们先不管那是什么,现在我们不妨发布一个项目,但在"项目属性"窗口中的"发布"选项卡上,点击"选项"按钮,打开"发布选项"对话框. 在"说明"页中输入基本信息,产品名称和发布者. 然后进

ClickOnce部署(2) 自动更新

上次我们说了如何用最基本的方式用ClickOnce技术部署应用程序项目,本篇我们来认识一下如何让应用程序具备自动更新的功能. 我们依然通过实例来学习. 第一步,随便建一个应用程序项目,至于是控制台.WPF还是WinForm就随意吧,我们的重点发布应用程序.比如这样: 为了更好的演示,我们可以在窗口上显示当前发布的版本号.我这里是一个WinForm项目,故我就用一个Label控件来显示当前发布版本. 注意,这里的版本号是ClickOnce发布的版本号,不是程序集的版本号.所以要使用Applicat

ClickOnce部署(1) 发布方式

ClickOnce是什么玩意儿,这个问题嘛,在21世纪的互联网严重发达的时代,估计也没有必要大费奏章去介绍了,弄不好的话,还有抄袭之嫌.因此,有关ClickOnce的介绍,各位朋友可以直接查找MSDN文档,或者看下面这里,这是百度百科上的,其实也是Ctrl + C版本.http://baike.baidu.com/view/1390498.htm 如果你对这些理论的东西不感兴趣,没关系,上面所提及的内容你完全可以无视之.我们只要知道,ClickOnce是一种应用程序部署方式即可.那什么是部署呢?

部署c#网站的 权限问题!急急急!!求高手帮忙

问题描述 我发布一个c#的web网站,当我在用户权限正常设置的时候访问网站提示下面错误当我修改用户访问权限访问网站要求我输入服务器的用户名和密码,输入通过后就可以访问网站了我在网站的web.config中没有配置验证权限的设置,求高手帮忙,怎样才可以正常访问网站 解决方案 解决方案二:匿名就行了吧解决方案三:网站文件夹的权限解决方案四:发布文件夹添加读取权限有时候神经访问不了,给了权限,可以用了,删了权限还能用解决方案五:设置网站文件夹权限,具体部署步骤参考:解决方案六:你网站根文件夹的权限要添

Openstack组件部署 — 将一个自定义 Service 添加到 Keystone

目录 目录 Keystone 认证流程 让 Keystone 为一个新的项目 Service 提供验证功能 最后 Keystone 认证流程 User 使用凭证(username/password) 到 keystone 验证并获得一个临时的 Token 和 Generic catalog(全局目录),临时的 Token 会存储在 keystone-client(cache UUID locally) 和 keystone-backend 中. User 使用这个临时 Token 发送给 key

自定义Android系统级权限组

Android安全模型基于Linux的权限管理,使用沙箱隔离机制将每个应用的进程资源隔离.Android应用程序在安装时赋予一个UID,UID不同的应用程序完全隔离. 另一方面,应用如果想使用某种服务,需要在AndroidManifest.xml中申请.比如,想使用网络的话,需要在AndroidManifest.xml中添加: <uses-permission android:name="android.permission.INTERNET" /> INTERNET权限将

服务器-.net framework4.5.1 ClickOnce 安装部署

问题描述 .net framework4.5.1 ClickOnce 安装部署 最近遇到了一个ClickOnce部署的问题. 在.net framework4.0的时候, 我们部署完服务端, 会使用自己写的config工具修改服务器配置和数据库配置的文件, 会导致其对应的Hash值被更改, 所以在修改完配置之后, 会使用sha.ComputeHash(inputStream);重新计算hash并且更新回去. 这个是没有问题的. 但是最近我们升级到4.5.1, 就出现问题了. 一样的操作和方法,