StyleInfo.PasswordChar only masks the password text, users can still copy-paste to notepad and see the actual password

Hi there, I am using SyncFusion Grid v2.0.5.1. I do Syncfusion.Windows.Forms.Grid.GridBoundColumn.StyleInfo.PasswordChar = ''*''; to make my password column masked with * character. This acheives the purpose of hiding the password. But if a user copy-pastes the field in notepad, the actual unmasked password is naked for him. This is reported a severe bug in my software. Please let me know how can I protect the password fields in SyncFusion grid. Please note that I am encrypting passwords before saving to persistent storage. Regards, Salil

4 Replies

AD Administrator Syncfusion Team June 29, 2005 10:04 AM UTC

One way you can handle this is to subscribe to the grid.Model.ClipboardCanCopy event, and do not allow the copy if the selections intersect your password column.
this.gridDataBoundGrid1.Model.ClipboardCanCopy += new GridCutPasteEventHandler(Model_ClipboardCanCopy);


private void Model_ClipboardCanCopy(object sender, GridCutPasteEventArgs e)
{
	int colIndex = this.gridDataBoundGrid1.Binder.NameToColIndex("passwordCOL");
	if(this.gridDataBoundGrid1.Selections.Ranges.AnyRangeIntersects(GridRangeInfo.Col(colIndex)))
	{
		e.Handled = true;
		e.Result = false;
	}
}

            


RE resmi March 16, 2006 12:30 PM UTC

hi Can u solve this in GGC Thanks


AD Administrator Syncfusion Team March 16, 2006 03:29 PM UTC

Hi, Please refer to the code snippet below, that demonstrates this functionality for the GGC. Let us know if you need more information on this. //this.gridGroupingControl1.TableControl.Model.ClipboardCanCopy += new GridCutPasteEventHandler(Model_ClipboardCanCopy); void Model_ClipboardCanCopy(object sender, GridCutPasteEventArgs e) { int col = this.gridGroupingControl1.TableModel.NameToColIndex("PasswordCol"); GridCurrentCell cc = this.gridGroupingControl1.TableControl.CurrentCell; GridRangeInfo range = this.gridGroupingControl1.TableModel.Selections.Ranges.ActiveRange; // a range of cells if(range == GridRangeInfo.Empty) this.gridGroupingControl1.TableModel.Selections.Ranges.Add(GridRangeInfo.Cell(cc.RowIndex,cc.ColIndex)); // single cell if (this.gridGroupingControl1.TableModel.Selections.Ranges.AnyRangeIntersects(GridRangeInfo.Col(col))) { e.Handled = true; e.Result = false; } } Thanks for choosing Syncfusion Products. Best regards, Madhan.


RE resmi March 17, 2006 04:49 AM UTC

thanks its working

Loader.
Up arrow icon