<
telerik:GridTemplateColumn
HeaderText
=
"Password"
UniqueName
=
"pass"
DataField
=
"pass"
SortExpression
=
"Pass"
>
<
ItemTemplate
>
<
asp:Label
ID
=
"lblpass"
runat
=
"server"
Text='<%# Eval("pass") %>' width="100px"></
asp:Label
>
</
ItemTemplate
>
<
EditItemTemplate
>
<
telerik:RadTextBox
ID
=
"txtpass"
Width
=
"300px"
runat
=
"server"
Text='<%# Bind("pass") %>' >
</
telerik:RadTextBox
>
</
EditItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:RadGrid
ID
=
"grdCanaisComunicacao"
runat
=
"server"
AllowSorting
=
"true"
AutoGenerateColumns
=
"false"
Width
=
"80%"
OnNeedDataSource
=
"grdCanaisComunicacao_NeedDataSource"
OnBatchEditCommand
=
"grdCanaisComunicacao_BatchEditCommand"
>
<
MasterTableView
DataKeyNames
=
"CanalComunicacaoID"
EditMode
=
"Batch"
BatchEditingSettings-OpenEditingEvent
=
"DblClick"
CommandItemDisplay
=
"Top"
>
<
Columns
>
<
telerik:GridBoundColumn
DataField
=
"Descricao"
UniqueName
=
"colDescricao"
HeaderText
=
"Descrição"
HeaderStyle-Width
=
"30%"
>
</
telerik:GridBoundColumn
>
<
telerik:GridTemplateColumn
DataField
=
"CanalComunicacaoTipoID"
UniqueName
=
"colTipo"
HeaderText
=
"Tipo"
HeaderStyle-Width
=
"30%"
>
<
ItemTemplate
>
<
asp:Label
runat
=
"server"
ID
=
"lblTipo"
Text='<%# Eval("TipoDescricao") %>'></
asp:Label
>
</
ItemTemplate
>
<
EditItemTemplate
>
<
telerik:RadDropDownList
runat
=
"server"
ID
=
"ddlTipoCanal"
DataValueField
=
"CanalComunicacaoTipoID"
DataTextField
=
"Descricao"
DataSourceID
=
"dsCanalComunicacaoTipo"
>
</
telerik:RadDropDownList
>
</
EditItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridCheckBoxColumn
DataField
=
"IsPrincipal"
HeaderText
=
"Canal Principal"
SortExpression
=
"IsPrincipal"
UniqueName
=
"colIsPrincipal"
ItemStyle-HorizontalAlign
=
"Center"
HeaderStyle-Width
=
"20%"
>
</
telerik:GridCheckBoxColumn
>
<
telerik:GridButtonColumn
ConfirmText
=
"Excluir este canal de comunicação?"
ConfirmDialogType
=
"RadWindow"
HeaderStyle-Width
=
"20%"
ConfirmTitle
=
"Delete"
HeaderText
=
"Delete"
ButtonType
=
"ImageButton"
ItemStyle-Width
=
"16px"
ItemStyle-Height
=
"16px"
CommandName
=
"Delete"
Text
=
"Delete"
UniqueName
=
"DeleteColumn"
>
</
telerik:GridButtonColumn
>
</
Columns
>
</
MasterTableView
>
</
telerik:RadGrid
>
Fix the missing AWS security service..
1. Take the same approach as in your everlive provider
-- snip from source
public string ApiKey { get; set; }
2. Add the same approach to your amazon provider..
public string AccessKey { get; set; }
public string SecretKey { get; set; }
3. See separate thread about missing dynamic key support.
You can keep the old style webconfig file, but it should be deprecated, i.e only used if both of the above are not available..
This is stanadard AWS security..
"All providers configuration is stored in the configuration files. It is not allowed to define provider's configuration in the markup of the control or through the code behind. This is because the configuration contains sensitive data (access key, secret key and etc.). "
Who thought this one up.. it makes the control totally useless..
Stop reinventing the wheel, just copy what other have worked out over many year this control is NOT new..
See several others, the best is DirectAmazonUploader ..
Take a look
http://flajaxian.com/flajaxian.com/DirectAmazonUploader1.0Help.html
*****ABSOLUTE MUST****
The bucket, and access account MUST be dynamic configurable..
Please fix major design defect..
While, I don't belive that telerik should dictate how I use a control, if you are going to use security as an excuse please do it right..
The use of static secret keys in files or else where is very poor practice and is NOT constant with AWS security services..
YOU NEED TO SUPPORT ALL THREE AWS WAYS TO PASS AWS CREDENTIALS..
PLEASE DO NOT CHNAGE HE AWS SECURITY POLICY!!!
The preferred, and you have not implements is dynamic keys, in your code below..
Add support for AWS dynamic keys see ****
public override void Initialize(string name, NameValueCollection config)
{
if (config == null)
{
throw new ArgumentNullException("No valid configuration is provided.");
}
base.Initialize(name, config);
*** add check for dynamic keys here****
AccessKey = config[CloudUploadConstants.AccessKey];
if (string.IsNullOrEmpty(AccessKey))
{
throw new ProviderException("Missing AccessKey. Please specify it with the accessKey property.");
}